[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |