Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull RCU fix from Ingo Molnar:
"An RCU Kconfig fix that eliminates an annoying interactive kconfig
question for CONFIG_RCU_TORTURE_TEST_SLOW_INIT"

* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
rcu: Control grace-period delays directly from value

+10 -7
+9 -7
kernel/rcu/tree.c
··· 162 162 static int kthread_prio = CONFIG_RCU_KTHREAD_PRIO; 163 163 module_param(kthread_prio, int, 0644); 164 164 165 - /* Delay in jiffies for grace-period initialization delays. */ 166 - static int gp_init_delay = IS_ENABLED(CONFIG_RCU_TORTURE_TEST_SLOW_INIT) 167 - ? CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY 168 - : 0; 165 + /* Delay in jiffies for grace-period initialization delays, debug only. */ 166 + #ifdef CONFIG_RCU_TORTURE_TEST_SLOW_INIT 167 + static int gp_init_delay = CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY; 169 168 module_param(gp_init_delay, int, 0644); 169 + #else /* #ifdef CONFIG_RCU_TORTURE_TEST_SLOW_INIT */ 170 + static const int gp_init_delay; 171 + #endif /* #else #ifdef CONFIG_RCU_TORTURE_TEST_SLOW_INIT */ 172 + #define PER_RCU_NODE_PERIOD 10 /* Number of grace periods between delays. */ 170 173 171 174 /* 172 175 * Track the rcutorture test sequence number and the update version ··· 1846 1843 raw_spin_unlock_irq(&rnp->lock); 1847 1844 cond_resched_rcu_qs(); 1848 1845 ACCESS_ONCE(rsp->gp_activity) = jiffies; 1849 - if (IS_ENABLED(CONFIG_RCU_TORTURE_TEST_SLOW_INIT) && 1850 - gp_init_delay > 0 && 1851 - !(rsp->gpnum % (rcu_num_nodes * 10))) 1846 + if (gp_init_delay > 0 && 1847 + !(rsp->gpnum % (rcu_num_nodes * PER_RCU_NODE_PERIOD))) 1852 1848 schedule_timeout_uninterruptible(gp_init_delay); 1853 1849 } 1854 1850
+1
lib/Kconfig.debug
··· 1281 1281 int "How much to slow down RCU grace-period initialization" 1282 1282 range 0 5 1283 1283 default 3 1284 + depends on RCU_TORTURE_TEST_SLOW_INIT 1284 1285 help 1285 1286 This option specifies the number of jiffies to wait between 1286 1287 each rcu_node structure initialization.