xen/sched: support differing granularity in schedule_cpu_[add/rm]()
authorJuergen Gross <jgross@suse.com>
Wed, 2 Oct 2019 07:27:41 +0000 (09:27 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 4 Oct 2019 11:02:15 +0000 (13:02 +0200)
commit1ec410112cdd9eec9cacde5258c24f631f0ea9cd
treee55a674b6b9f031a96ea36c9914f2b5d2209c8af
parent95111283c19fcdcf1f9ec270ffeb5e236bdc88c0
xen/sched: support differing granularity in schedule_cpu_[add/rm]()

With core scheduling active schedule_cpu_[add/rm]() has to cope with
different scheduling granularity: a cpu not in any cpupool is subject
to granularity 1 (cpu scheduling), while a cpu in a cpupool might be
in a scheduling resource with more than one cpu.

Handle that by having arrays of old/new pdata and vdata and loop over
those where appropriate.

Additionally the scheduling resource(s) must either be merged or
split.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Dario Faggioli <dfaggioli@suse.com>
xen/common/cpupool.c
xen/common/schedule.c