xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/5] Series short description
@ 2018-08-25  0:21 Dario Faggioli
  2018-08-25  0:21 ` [PATCH v1 1/5] xen: sched: null: refactor core around vcpu_deassign() Dario Faggioli
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Dario Faggioli @ 2018-08-25  0:21 UTC (permalink / raw)
  To: xen-devel; +Cc: George Dunlap, Stefano Stabellini, Roger Pau Monne

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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-07-24 13:21 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-25  0:21 [PATCH v1 0/5] Series short description Dario Faggioli
2018-08-25  0:21 ` [PATCH v1 1/5] xen: sched: null: refactor core around vcpu_deassign() Dario Faggioli
2019-07-15 15:46   ` [Xen-devel] " George Dunlap
2019-07-24 10:32     ` Jan Beulich
2019-07-24 13:20       ` Dario Faggioli
2018-08-25  0:21 ` [PATCH v1 2/5] xen: sched: null: don't assign down vcpus to pcpus Dario Faggioli
2019-07-15 16:06   ` [Xen-devel] " George Dunlap
2019-07-16 10:50     ` Dario Faggioli
2019-07-16 12:02       ` George Dunlap
2019-07-16 15:00         ` Dario Faggioli
2018-08-25  0:21 ` [PATCH v1 3/5] xen: sched: null: deassign offline vcpus from pcpus Dario Faggioli
2019-07-17 16:04   ` [Xen-devel] " George Dunlap
2019-07-17 18:39     ` Dario Faggioli
2019-07-18 13:09       ` George Dunlap
2019-07-19 15:46         ` Dario Faggioli
2018-08-25  0:22 ` [PATCH v1 4/5] xen: sched: null: reassign vcpus to pcpus when they come back online Dario Faggioli
2019-07-19 16:08   ` [Xen-devel] " George Dunlap
2018-08-25  0:22 ` [PATCH v1 5/5] xen: sched: null: refactor the ASSERTs around vcpu_deassing() Dario Faggioli
2019-07-19 16:20   ` [Xen-devel] " George Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).