On Mon, Jul 25, 2016 at 7:17 AM, George Dunlap <george.dun...@citrix.com> wrote:
> On 18/07/16 11:28, Dario Faggioli wrote:
>> 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>
>
> Just to clarify - does this cover the sched_rt.c changes as well?

Hi George,

I had a look at the sched_rt.c, it looks good to me. I sent out my
review tag for the sched_rt.c, just now.

Meng

-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to