X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=kernel%2FKconfig.preempt;h=9fdba03dc1fcd119c31274fb3590480aa1db9f05;hb=bf31338bfd5d04434adf2294255847bb7dad687a;hp=61fa116efcdefcc21a6216c9193a75e78eb86864;hpb=e260be673a15b6125068270e0216a3bfbfc12f87;p=firefly-linux-kernel-4.4.55.git diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt index 61fa116efcde..9fdba03dc1fc 100644 --- a/kernel/Kconfig.preempt +++ b/kernel/Kconfig.preempt @@ -52,19 +52,23 @@ config PREEMPT endchoice -config PREEMPT_BKL - bool "Preempt The Big Kernel Lock" - depends on SMP || PREEMPT - default y +config PREEMPT_RCU + bool "Preemptible RCU" + depends on PREEMPT + default n help - This option reduces the latency of the kernel by making the - big kernel lock preemptible. + This option reduces the latency of the kernel by making certain + RCU sections preemptible. Normally RCU code is non-preemptible, if + this option is selected then read-only RCU sections become + preemptible. This helps latency, but may expose bugs due to + now-naive assumptions about each RCU read-side critical section + remaining on a given CPU through its execution. - Say Y here if you are building a kernel for a desktop system. Say N if you are unsure. config RCU_TRACE bool "Enable tracing for RCU - currently stats in debugfs" + depends on PREEMPT_RCU select DEBUG_FS default y help