[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] PV-shim 4.13 assertion failures during vcpu_wake()



On 21.10.19 11:51, Sergey Dyasli wrote:
Hello,

While testing pv-shim from a snapshot of staging 4.13 branch (with core-
scheduling patches applied), some sort of scheduling issues were uncovered
which usually leads to a guest lockup (sometimes with soft lockup messages
from Linux kernel).

This happens more frequently on SandyBridge CPUs. After enabling
CONFIG_DEBUG in pv-shim, the following assertions failed:

Null scheduler:

     Assertion 'lock == get_sched_res(i->res->master_cpu)->schedule_lock' 
failed at ...are/xen-dir/xen-root/xen/include/xen/sched-if.h:278
     (full crash log: https://paste.debian.net/1108861/ )

I guess this is the known null scheduler hotplug problem?


Credit1 scheduler:

     Assertion 'cpumask_cycle(cpu, unit->cpu_hard_affinity) == cpu' failed at 
sched_credit.c:383
     (full crash log: https://paste.debian.net/1108862/ )

I think this is a bug in credit scheduler:

In csched_aff_cntl() CSCHED_FLAG_UNIT_PINNED should be set only in case
the cpu the affinity is set to is online. An alternative might be to
add the condition of above ASSERT() to the if () statement guarding it
and dropping the ASSERT().

Dario, George?

Before my patch "xen: let vcpu_create() select processor" in pv-shim
the initial cpu of a vcpu would be set to a not yet online cpu, which
did work just by chance.

So another possibility would be to modify pv_shim_cpu_up() to call a new
scheduler function doing another cpu assignment and the vcpu_wake() if
needed.


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.