[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] sched=null vwfi=native and call_rcu()
Hi all, As you might remember, we have an outstanding issue with call_rcu() when sched=null vwfi=native are used. That is because in that configuration the CPU never goes idle so rcu_idle_enter() never gets called. The issue was caught on the field and I managed to repro the problem doing the following: xl destroy test xl create ./test.cfg Resulting in the following error: # Parsing config from ./test.cfg # (XEN) IRQ 54 is already used by domain 1 The test domain has 3 interrupts remapped to it and they don't get released before the new domain creation is requested. Just FYI, the below hacky patch seems to reliably work-around the problem in my environment. Do you have any suggestions on what would be the right way to solve this issue? Cheers, Stefano diff --git a/xen/common/rcupdate.c b/xen/common/rcupdate.c index a5a27af3de..841a5cb3c9 100644 --- a/xen/common/rcupdate.c +++ b/xen/common/rcupdate.c @@ -289,6 +289,9 @@ void call_rcu(struct rcu_head *head, force_quiescent_state(rdp, &rcu_ctrlblk); } local_irq_restore(flags); + /* make sure that the CPU has a chance to check RCUs */ + set_timer(&rdp->idle_timer, NOW() + SECONDS(1)); + rdp->idle_timer_active = true; } /*
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |