On Fri, 2016-07-15 at 19:02 +0100, George Dunlap wrote: > The generic domain creation logic in > xen/common/domctl.c:default_vcpu0_location() attempts to try to do > initial placement load-balancing by placing vcpu 0 on the least-busy > non-primary hyperthread available. Unfortunately, the logic can end > up picking a pcpu that's not in the online mask. When this is passed > to a scheduler such which assumes that the initial assignment is > valid, it causes a null pointer dereference looking up the runqueue. > > Furthermore, this initial placement doesn't take into account hard or > soft affinity, or any scheduler-specific knowledge (such as historic > runqueue load, as in credit2). > > To solve this, when inserting a vcpu, always call the per-scheduler > "pick" function to revise the initial placement. This will > automatically take all knowledge the scheduler has into account. > > Signed-off-by: George Dunlap <george.dun...@citrix.com> > --- > CC: Dario Faggioli <dario.faggi...@citrix.com> > CC: Anshul Makkar <anshul.mak...@citrix.com> > CC: Meng Xu <men...@cis.upenn.edu> > CC: Jan Beulich <jbeul...@suse.com> > Reviewed-by: Dario Faggioli <dario.faggi...@citrix.com>
Regards, Dario -- <<This happens because I choose it to happen!>> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel