[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 0/4] xen/rcu: let rcu work better with core scheduling
Today the RCU handling in Xen is affecting scheduling in several ways. It is raising sched softirqs without any real need and it requires tasklets for rcu_barrier(), which interacts badly with core scheduling. This small series repairs those issues. Additionally some ASSERT()s are added for verification of sane rcu handling. In order to avoid those triggering right away the obvious violations are fixed. Changes in V2: - use get_cpu_maps() in rcu_barrier() handling - avoid recursion in rcu_barrier() handling - new patches 3 and 4 Juergen Gross (4): xen/rcu: use rcu softirq for forcing quiescent state xen/rcu: don't use stop_machine_run() for rcu_barrier() xen: add process_pending_softirqs_norcu() for keyhandlers xen/rcu: add assertions to debug build xen/arch/x86/mm/p2m-ept.c | 2 +- xen/arch/x86/numa.c | 4 +- xen/common/keyhandler.c | 6 +- xen/common/multicall.c | 1 + xen/common/rcupdate.c | 96 +++++++++++++++++++++-------- xen/common/softirq.c | 19 ++++-- xen/common/wait.c | 1 + xen/drivers/passthrough/amd/pci_amd_iommu.c | 2 +- xen/drivers/passthrough/vtd/iommu.c | 2 +- xen/drivers/vpci/msi.c | 4 +- xen/include/xen/rcupdate.h | 23 +++++-- xen/include/xen/softirq.h | 2 + 12 files changed, 118 insertions(+), 44 deletions(-) -- 2.16.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |