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

[Xen-devel] [PATCH v1 0/5] Series short description



xen: sched: support vcpu hotplug/hotunplug in the 'null scheduler'

Hello,

It turned out, while discussing this patch:
https://lists.xenproject.org/archives/html/xen-devel/2018-01/msg00249.html

that the 'null scheduler' does not really support vcpu
hotplug/hotunplug. In fact, under some circumnstances, it is possible
that the vcpus which are actually offline, get assigned to a pcpu, while
one or more online vcpus, may be left in the wait list, and stay there
forever.

As a matter of fact, one of these circumnstances was when the 'null
scheduler' was used within the PV-SHIM, but the problem is more general.

The cited patch proposed a solution, which IMO was the wrong one, as it
was causing unnecessary overhead to regular use cases of the 'null
scheduler' (i.e., when one has vcpus==pcpus, does not online/offline,
etc).

This series is what I think should be the proper implementation of
offlining/onlining vcpus within 'null'. It is all a little bit tricky,
as we need to figure out, from within the scheduler's sleep and wakeup
functions, whether or not the cpu is coming online/going offline, but it
works.

I did some testing in different setups and scenarios, and the system
survived. However:
- Stefano, if you're interested in hotplug/hotunplug when using 'null',
and have already a use case to test it, please go ahead, and tell me if
something crashes! :-)
- Roger, if you fancy giving it a try again to use 'null' as the
scheduler of the SHIM, and tell me if now, with this patch, it works,
that would be awesome. I can do that myself, of course, and I will,
after vacations, if you don't get round to it by then. :-D

Thanks and Regards,
Dario
---
Dario Faggioli (5):
      xen: sched: null: refactor core around vcpu_deassign()
      xen: sched: null: don't assign down vcpus to pcpus
      xen: sched: null: deassign offline vcpus from pcpus
      xen: sched: null: reassign vcpus to pcpus when they come back online
      xen: sched: null: refactor the ASSERTs around vcpu_deassing()

 xen/common/sched_null.c |  196 +++++++++++++++++++++++++++++++++++------------
 1 file changed, 145 insertions(+), 51 deletions(-)
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Software Engineer @ SUSE https://www.suse.com/

_______________________________________________
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®.