[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 11/13] xen: support the Null scheduler



Hi,

On 02/07/2018 19:24, Stefano Stabellini wrote:
On Mon, 2 Jul 2018, Julien Grall wrote:
Hi Stefano,

On 06/29/2018 07:38 PM, Stefano Stabellini wrote:
On Thu, 28 Jun 2018, Roger Pau Monné wrote:
On Thu, Jun 28, 2018 at 09:27:08AM +0200, Dario Faggioli wrote:
On Thu, 2018-06-14 at 13:20 -0700, Stefano Stabellini wrote:
On Thu, 14 Jun 2018, Andrew Cooper wrote:
On 14/06/18 14:40, Jan Beulich wrote:
I don't think its reasonable to alter the support status with this
issue
outstanding.

I completely missed this report, probably because I haven't paid
attention to PV-shim. Do you have any more information about this?
The
report is a bit vague. If I can't repro it, I can't fix it.

Couldn't it be that is normal because after a while you ran out of
pcpus?

Dario, do you have any opinion on this?

The issue that I know of is that the null scheduler does not properly
support CPU hotplug/hotunplug.

This is an issue on, let's say, baremetal, if you use null, and try to
do CPU hotplug/hotunplug. When trying to use null as the scheduler of
the shim, we run into that same issue, even if not specifically doing
CPU hotplug/hotunplug (because the shim use the same path for CPU
bringup, IIRC).

The shim uses CPU hotplug/unplug when the guest brings up/down a
vCPU using the VCPUOP_{up/down} hypercall.

The best description of the issue I could find is:

https://lists.xenproject.org/archives/html/xen-devel/2018-01/msg01085.html

OK, thanks for the explanation. We don't support CPU hotplug on ARM, so
we could mark the NULL scheduler as supported on the ARM architecture
today? Once you implement CPU hotplug support in NULL, we could mark it
as supported on x86 too.
Well, Mirela paved the way to support CPU hotplug (should be merged soon). She
is looking at suspend/resume which is IHMO an extension of hotplug case. So
are you sure this could never happen on Arm?

I thought that suspend/resume didn't actually require the same kind of
scheduler support that CPU hotplug needs. If suspend/resume ends up
not working with scheduler NULL, then that is a problem.

The suspend/resume code will offline the CPU one by one using cpu_down. This is the same path as hotplug. So you will end up with more vCPUs than online pCPUs, although the domain will be frozen. How this is going to fit in the NULL scheduler?


Real CPU hotplug is unlikely though -- do you know of any ARM platforms
that support it? Doesn't it require an actual board with physically
pluggable CPUs?

Virtually every platform support CPU hotplug. It is not just about "physically pluggable CPUs" but any CPU that can be offline at any time.

Because Xen on Arm will always bring-up all the CPUs, a user may want to offline some of them if he knows they are not going to be used for a while.

In any case a scheduler is common code. IHMO, we should (security) support it on the basis that all "scheduling" features are present. Not on an architecture basis.

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.