Topics

UOS kernel


Ross Burton
 

Hi,

Obviously the SOS needs the acrn patches (which I'm obtaining via
linux-intel-lts) but are there any UOS-specific patches in that kernel
tree too? Does any modern kernel work as well, or are there patches
and/or kconfig options that improve the guest performance?

Thanks,
Ross


Ross Burton
 

Hit send way too early. Obviously virtio and friends need to be
enabled. Is any *KVM guest enabled* kernel suitable, or are there
further guest improvements in the acrn-kernel tree?

Ross

On Wed, 13 Feb 2019 at 21:50, Burton, Ross <ross.burton@intel.com> wrote:

Hi,

Obviously the SOS needs the acrn patches (which I'm obtaining via
linux-intel-lts) but are there any UOS-specific patches in that kernel
tree too? Does any modern kernel work as well, or are there patches
and/or kconfig options that improve the guest performance?

Thanks,
Ross


Geoffroy Van Cutsem
 

I had started looking into this a bit since I knew the engineering was mostly out on holiday last week, the quick summary is that there are at least a number of virtio FE drivers that are not upstream (yet): RPMB, HECI, Audio, IPU, TSN, HyperDMA buffer, HDCP and COREU (see [1]). You may not need all of them but I suspect you'll want at least a few. I think this is pretty much it for the User OS kernel but I will let the engineering confirm that.

Geoffroy

[1] https://projectacrn.github.io/latest/developer-guides/hld/hld-virtio-devices.html#virtio-device-table

-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Wednesday, February 13, 2019 10:52 PM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

Hit send way too early. Obviously virtio and friends need to be enabled. Is any
*KVM guest enabled* kernel suitable, or are there further guest improvements
in the acrn-kernel tree?

Ross

On Wed, 13 Feb 2019 at 21:50, Burton, Ross <ross.burton@intel.com> wrote:

Hi,

Obviously the SOS needs the acrn patches (which I'm obtaining via
linux-intel-lts) but are there any UOS-specific patches in that kernel
tree too? Does any modern kernel work as well, or are there patches
and/or kconfig options that improve the guest performance?

Thanks,
Ross


Tzeng, Tonny <tonny.tzeng@...>
 

Hi Ross,

You can reference tons of patches in the Clear Linux package repo [1], if you want to build the SOS from the upstream kernel, instead of using the acrn-kernel tree. Alternative is to use the Clear Linux developer tooling framework [2] to rebuild the SOS. FYI.

[1] https://github.com/clearlinux-pkgs/linux-iot-lts2018
[2] https://github.com/clearlinux/common

Regards,
Tonny

-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Thursday, February 14, 2019 5:52 AM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

Hit send way too early. Obviously virtio and friends need to be enabled. Is any *KVM guest enabled* kernel suitable, or are there further guest improvements in the acrn-kernel tree?

Ross

On Wed, 13 Feb 2019 at 21:50, Burton, Ross <ross.burton@intel.com> wrote:

Hi,

Obviously the SOS needs the acrn patches (which I'm obtaining via
linux-intel-lts) but are there any UOS-specific patches in that kernel
tree too? Does any modern kernel work as well, or are there patches
and/or kconfig options that improve the guest performance?

Thanks,
Ross


Ross Burton
 

On Wed, 13 Feb 2019 at 23:52, Tzeng, Tonny <tonny.tzeng@intel.com> wrote:
You can reference tons of patches in the Clear Linux package repo [1], if you want to build the SOS from the upstream kernel, instead of using the acrn-kernel tree. Alternative is to use the Clear Linux developer tooling framework [2] to rebuild the SOS. FYI.

[1] https://github.com/clearlinux-pkgs/linux-iot-lts2018
[2] https://github.com/clearlinux/common
linux-iot-lts2018 is Intel Production Kernel with two Clear-specific
patches on top. We already build the Production Kernel for our IA
BSP, so I'm just using a custom defconfig.

Ross


Ross Burton
 

That's good to know. Our 'standard' kernel is linux-intel-lts so it
will have all the acrn-kernel patches in already, we just need to make
sure they're enabled.

Ross

On Wed, 13 Feb 2019 at 23:41, Geoffroy Van Cutsem
<geoffroy.vancutsem@intel.com> wrote:

I had started looking into this a bit since I knew the engineering was mostly out on holiday last week, the quick summary is that there are at least a number of virtio FE drivers that are not upstream (yet): RPMB, HECI, Audio, IPU, TSN, HyperDMA buffer, HDCP and COREU (see [1]). You may not need all of them but I suspect you'll want at least a few. I think this is pretty much it for the User OS kernel but I will let the engineering confirm that.

Geoffroy

[1] https://projectacrn.github.io/latest/developer-guides/hld/hld-virtio-devices.html#virtio-device-table


-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Wednesday, February 13, 2019 10:52 PM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

Hit send way too early. Obviously virtio and friends need to be enabled. Is any
*KVM guest enabled* kernel suitable, or are there further guest improvements
in the acrn-kernel tree?

Ross

On Wed, 13 Feb 2019 at 21:50, Burton, Ross <ross.burton@intel.com> wrote:

Hi,

Obviously the SOS needs the acrn patches (which I'm obtaining via
linux-intel-lts) but are there any UOS-specific patches in that kernel
tree too? Does any modern kernel work as well, or are there patches
and/or kconfig options that improve the guest performance?

Thanks,
Ross



Geoffroy Van Cutsem
 

-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Thursday, February 14, 2019 12:55 AM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

That's good to know. Our 'standard' kernel is linux-intel-lts so it will have all the
acrn-kernel patches in already, we just need to make sure they're enabled.
So that may not turn out to be too hard to do then, good! :)

Geoffroy


Ross

On Wed, 13 Feb 2019 at 23:41, Geoffroy Van Cutsem
<geoffroy.vancutsem@intel.com> wrote:

I had started looking into this a bit since I knew the engineering was mostly
out on holiday last week, the quick summary is that there are at least a number
of virtio FE drivers that are not upstream (yet): RPMB, HECI, Audio, IPU, TSN,
HyperDMA buffer, HDCP and COREU (see [1]). You may not need all of them but
I suspect you'll want at least a few. I think this is pretty much it for the User OS
kernel but I will let the engineering confirm that.

Geoffroy

[1]
https://projectacrn.github.io/latest/developer-guides/hld/hld-virtio-d
evices.html#virtio-device-table


-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Wednesday, February 13, 2019 10:52 PM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

Hit send way too early. Obviously virtio and friends need to be
enabled. Is any *KVM guest enabled* kernel suitable, or are there
further guest improvements in the acrn-kernel tree?

Ross

On Wed, 13 Feb 2019 at 21:50, Burton, Ross <ross.burton@intel.com>
wrote:

Hi,

Obviously the SOS needs the acrn patches (which I'm obtaining via
linux-intel-lts) but are there any UOS-specific patches in that
kernel tree too? Does any modern kernel work as well, or are
there patches and/or kconfig options that improve the guest
performance?

Thanks,
Ross



Tim Orling
 

On Feb 13, 2019, at 4:05 PM, Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com> wrote:



-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Thursday, February 14, 2019 12:55 AM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

That's good to know. Our 'standard' kernel is linux-intel-lts so it will have all the
acrn-kernel patches in already, we just need to make sure they're enabled.
So that may not turn out to be too hard to do then, good! :)

Geoffroy
We're successfully running ACRN v0.6 SOS and UOS on either a 4.19.19 or 4.19.23 PKT kernel on Skull Canyon (NUC6i7KYK).

However, once we start the UOS, we see a repeating infinite loop of:

[232000.725079] gvt: vgpu 1: Unsupport pipe 0, scaler 0 scaling
[232000.725105] gvt: vgpu 1: Unsupport pipe 0, scaler 0 scaling
[232000.725124] gvt: vgpu 1: Unsupport pipe 0, scaler 0 scaling
[232000.725144] gvt: vgpu 1: Unsupport pipe 0, scaler 1 scaling
[232000.725188] gvt: vgpu 1: Unsupport pipe 0, scaler 1 scaling
[232000.725208] gvt: vgpu 1: Unsupport pipe 0, scaler 1 scaling

This error is being generated by skl_ps_mmio_write(...) in drivers/gpu/drm/i915/gvt/handlers.c:
https://github.com/intel/linux-intel-lts/blob/4.19/base/drivers/gpu/drm/i915/gvt/handlers.c#L3017

which is in turn being called by pvmmio_update_plane_register(...) also in drivers/gpu/drm/i915/gvt/handlers.c:
https://github.com/intel/linux-intel-lts/blob/4.19/base/drivers/gpu/drm/i915/gvt/handlers.c#L825


I haven't wrapped my head around it yet, but when we instrumented via printk we see
"; scaler_owner 0 != vgpu->id 1"

It seems like it is related to:
https://projectacrn.github.io/0.6/developer-guides/GVT-g-kernel-options.html?highlight=scaler#i915-domain-scaler-owner

Is i915.domain_scaler_owner able to be set on kernel command line? Any suggestions what value should be used?


Ross

On Wed, 13 Feb 2019 at 23:41, Geoffroy Van Cutsem
<geoffroy.vancutsem@intel.com> wrote:

I had started looking into this a bit since I knew the engineering was mostly
out on holiday last week, the quick summary is that there are at least a number
of virtio FE drivers that are not upstream (yet): RPMB, HECI, Audio, IPU, TSN,
HyperDMA buffer, HDCP and COREU (see [1]). You may not need all of them but
I suspect you'll want at least a few. I think this is pretty much it for the User OS
kernel but I will let the engineering confirm that.

Geoffroy

[1]
https://projectacrn.github.io/latest/developer-guides/hld/hld-virtio-d
evices.html#virtio-device-table


-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Wednesday, February 13, 2019 10:52 PM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

Hit send way too early. Obviously virtio and friends need to be
enabled. Is any *KVM guest enabled* kernel suitable, or are there
further guest improvements in the acrn-kernel tree?

Ross

On Wed, 13 Feb 2019 at 21:50, Burton, Ross <ross.burton@intel.com>
wrote:

Hi,

Obviously the SOS needs the acrn patches (which I'm obtaining via
linux-intel-lts) but are there any UOS-specific patches in that
kernel tree too? Does any modern kernel work as well, or are
there patches and/or kconfig options that improve the guest
performance?

Thanks,
Ross




He, Min
 

Hi Tim,

-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Tim Orling
Sent: Tuesday, March 5, 2019 9:16 AM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel



On Feb 13, 2019, at 4:05 PM, Geoffroy Van Cutsem
<geoffroy.vancutsem@intel.com> wrote:



-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Thursday, February 14, 2019 12:55 AM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

That's good to know. Our 'standard' kernel is linux-intel-lts so it will have
all the
acrn-kernel patches in already, we just need to make sure they're enabled.
So that may not turn out to be too hard to do then, good! :)

Geoffroy
We're successfully running ACRN v0.6 SOS and UOS on either a 4.19.19 or
4.19.23 PKT kernel on Skull Canyon (NUC6i7KYK).

However, once we start the UOS, we see a repeating infinite loop of:

[232000.725079] gvt: vgpu 1: Unsupport pipe 0, scaler 0 scaling
[232000.725105] gvt: vgpu 1: Unsupport pipe 0, scaler 0 scaling
[232000.725124] gvt: vgpu 1: Unsupport pipe 0, scaler 0 scaling
[232000.725144] gvt: vgpu 1: Unsupport pipe 0, scaler 1 scaling
[232000.725188] gvt: vgpu 1: Unsupport pipe 0, scaler 1 scaling
[232000.725208] gvt: vgpu 1: Unsupport pipe 0, scaler 1 scaling

This error is being generated by skl_ps_mmio_write(...) in
drivers/gpu/drm/i915/gvt/handlers.c:
https://github.com/intel/linux-intel-
lts/blob/4.19/base/drivers/gpu/drm/i915/gvt/handlers.c#L3017

which is in turn being called by pvmmio_update_plane_register(...) also in
drivers/gpu/drm/i915/gvt/handlers.c:
https://github.com/intel/linux-intel-
lts/blob/4.19/base/drivers/gpu/drm/i915/gvt/handlers.c#L825
Actually you can ignore this kind of messages. Please just replace gvt_vgpu_err
with a gvt_dbg_dpy().


I haven't wrapped my head around it yet, but when we instrumented via
printk we see
"; scaler_owner 0 != vgpu->id 1"

It seems like it is related to:
https://projectacrn.github.io/0.6/developer-guides/GVT-g-kernel-
options.html?highlight=scaler#i915-domain-scaler-owner

Is i915.domain_scaler_owner able to be set on kernel command line? Any
suggestions what value should be used?
Yes, i915.domain_scaler_owner can be set through SOS kernel command line. It depends on
your configuration. If you assigned all the planes on a pipe to the UOS, you can assign all the
scalers on that pipe to UOS.



Ross

On Wed, 13 Feb 2019 at 23:41, Geoffroy Van Cutsem
<geoffroy.vancutsem@intel.com> wrote:

I had started looking into this a bit since I knew the engineering was
mostly
out on holiday last week, the quick summary is that there are at least a
number
of virtio FE drivers that are not upstream (yet): RPMB, HECI, Audio, IPU,
TSN,
HyperDMA buffer, HDCP and COREU (see [1]). You may not need all of
them but
I suspect you'll want at least a few. I think this is pretty much it for the
User OS
kernel but I will let the engineering confirm that.

Geoffroy

[1]
https://projectacrn.github.io/latest/developer-guides/hld/hld-virtio-d
evices.html#virtio-device-table


-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Wednesday, February 13, 2019 10:52 PM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

Hit send way too early. Obviously virtio and friends need to be
enabled. Is any *KVM guest enabled* kernel suitable, or are there
further guest improvements in the acrn-kernel tree?

Ross

On Wed, 13 Feb 2019 at 21:50, Burton, Ross <ross.burton@intel.com>
wrote:

Hi,

Obviously the SOS needs the acrn patches (which I'm obtaining via
linux-intel-lts) but are there any UOS-specific patches in that
kernel tree too? Does any modern kernel work as well, or are
there patches and/or kconfig options that improve the guest
performance?

Thanks,
Ross





Ross Burton
 

On Tue, 5 Mar 2019 at 01:43, He, Min <min.he@intel.com> wrote:
Is i915.domain_scaler_owner able to be set on kernel command line? Any
suggestions what value should be used?
Yes, i915.domain_scaler_owner can be set through SOS kernel command line. It depends on
your configuration. If you assigned all the planes on a pipe to the UOS, you can assign all the
scalers on that pipe to UOS.
So if we have:

i915.domain_plane_owners=0x011111110000

Then a corresponding i915.domain_scalar_owner would be:

i915.domain_scalar_owner=0x011100

Right? I guess the important thing to do is dig out the pipe/plane
layout and verify that our target has the same geometry as the Broxton
in the documentation.

Also the singular/plural difference in domain_plane_owners vs
domain_scalar_owner is driving me insane, can this be fixed?

Ross


He, Min
 

-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Tuesday, March 5, 2019 7:14 PM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

On Tue, 5 Mar 2019 at 01:43, He, Min <min.he@intel.com> wrote:
Is i915.domain_scaler_owner able to be set on kernel command line? Any
suggestions what value should be used?
Yes, i915.domain_scaler_owner can be set through SOS kernel command
line. It depends on
your configuration. If you assigned all the planes on a pipe to the UOS, you
can assign all the
scalers on that pipe to UOS.
So if we have:

i915.domain_plane_owners=0x011111110000

Then a corresponding i915.domain_scalar_owner would be:

i915.domain_scalar_owner=0x011100

Right? I guess the important thing to do is dig out the pipe/plane
layout and verify that our target has the same geometry as the Broxton
in the documentation.
Yes, it's the correct configuration.

Also the singular/plural difference in domain_plane_owners vs
domain_scalar_owner is driving me insane, can this be fixed?
Sorry for this kind of confusion. Yes, we should fix it, we will submit
patch in next release window.
Thanks for pointing this out.

Ross


Ross Burton
 

On Wed, 6 Mar 2019 at 01:11, He, Min <min.he@intel.com> wrote:
On Tue, 5 Mar 2019 at 01:43, He, Min <min.he@intel.com> wrote:
Is i915.domain_scaler_owner able to be set on kernel command line? Any
suggestions what value should be used?
Yes, i915.domain_scaler_owner can be set through SOS kernel command
line. It depends on
I just noticed that I'm getting warnings when we set this:

[ 7.790940] i915: unknown parameter 'domain_scalar_owner' ignored

Indeed:

ross@flashheart ~/Programming/acrn-kernel (master)
$ git grep domain_scalar | wc -l
0

Is this option not in acrn-kernel yet, or has it been removed?

Ross


Geoffroy Van Cutsem
 

-----Original Message-----
From: acrn-users@lists.projectacrn.org [mailto:acrn-
users@lists.projectacrn.org] On Behalf Of Ross Burton
Sent: Tuesday, March 12, 2019 3:48 PM
To: acrn-users@lists.projectacrn.org
Subject: Re: [acrn-users] UOS kernel

On Wed, 6 Mar 2019 at 01:11, He, Min <min.he@intel.com> wrote:
On Tue, 5 Mar 2019 at 01:43, He, Min <min.he@intel.com> wrote:
Is i915.domain_scaler_owner able to be set on kernel command
line? Any suggestions what value should be used?
Yes, i915.domain_scaler_owner can be set through SOS kernel
command
line. It depends on
I just noticed that I'm getting warnings when we set this:

[ 7.790940] i915: unknown parameter 'domain_scalar_owner' ignored

Indeed:

ross@flashheart ~/Programming/acrn-kernel (master) $ git grep domain_scalar
| wc -l
0

Is this option not in acrn-kernel yet, or has it been removed?
This is a typo, it should be domain_scaler_owner - see:
- https://projectacrn.github.io/latest/developer-guides/GVT-g-kernel-options.html#i915-domain-scaler-owner
- https://github.com/projectacrn/acrn-kernel/blob/master/drivers/gpu/drm/i915/i915_params.c#L184-L204

Geoffroy


Ross


Ross Burton
 

On Tue, 12 Mar 2019 at 16:25, Geoffroy Van Cutsem
<geoffroy.vancutsem@intel.com> wrote:
Is this option not in acrn-kernel yet, or has it been removed?
This is a typo, it should be domain_scaler_owner - see:
- https://projectacrn.github.io/latest/developer-guides/GVT-g-kernel-options.html#i915-domain-scaler-owner
- https://github.com/projectacrn/acrn-kernel/blob/master/drivers/gpu/drm/i915/i915_params.c#L184-L204
<facepalm>

Thanks.

Ross