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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to