Hello! This series contains changes to address the performance regressions introduced by commit ac1bea85781e (Make cond_resched() report RCU quiescent states), which was in turn fixing a problem where tasks looping in the kernel could delay RCU grace periods. The changes in this series are as follows:
1. Reduce the overhead of checking added to cond_resched() and friends. 2. Add a new cond_resched_rcu_qs() to provide RCU quiescent states even if cond_resched() should stop doing so. 3. Add a new RCU_COND_RESCHED_QS to prevent cond_resched() from reporting RCU quiescent states. 4. Prevent rcutorture testing from reporting spurious RCU CPU stall warnings, and also to test RCU_COND_RESCHED_QS. 5. Provides a boot/sysfs rcutree.jiffies_till_cond_resched_qs parameter to replace the magic "7". Thanx, Paul ------------------------------------------------------------------------ b/Documentation/kernel-parameters.txt | 7 + b/fs/file.c | 2 b/include/linux/rcupdate.h | 35 ----- b/include/linux/rcutiny.h | 17 ++ b/include/linux/rcutree.h | 44 ++++++ b/init/Kconfig | 26 +++ b/kernel/rcu/rcutorture.c | 4 b/kernel/rcu/tree.c | 111 +++++++++++++--- b/kernel/rcu/tree.h | 6 b/kernel/rcu/tree_plugin.h | 4 b/kernel/rcu/update.c | 18 -- b/mm/mlock.c | 2 b/tools/testing/selftests/rcutorture/configs/rcu/TREE01 | 1 13 files changed, 201 insertions(+), 76 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/