summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2019-01-09 17:42:01 +0100
committerRobert Schwebel <r.schwebel@pengutronix.de>2019-01-09 17:42:01 +0100
commit4153aaa00bb508e548ec74077ee296bdd2033439 (patch)
treedd4b5fd65f64a570c22c569f641f87c0f90676da
parentb874f827bb20dc08f23ef1da0e20e445dad2d0ac (diff)
downloadDistroKit-4153aaa00bb508e548ec74077ee296bdd2033439.tar.gz
DistroKit-4153aaa00bb508e548ec74077ee296bdd2033439.tar.xz
platform-rpi: kernel: enable PREEMPT
"reason" says: The typical embedded use-cases are more sensitive to latency than throughput. Thus a fully preemptible kernel is preferred. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
-rw-r--r--configs/platform-rpi/kernelconfig21
1 files changed, 12 insertions, 9 deletions
diff --git a/configs/platform-rpi/kernelconfig b/configs/platform-rpi/kernelconfig
index 72b7e8a..fc2e091 100644
--- a/configs/platform-rpi/kernelconfig
+++ b/configs/platform-rpi/kernelconfig
@@ -67,8 +67,9 @@ CONFIG_NO_HZ_IDLE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
#
# CPU/Task time and stats accounting
@@ -84,10 +85,13 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
#
# RCU Subsystem
#
-CONFIG_TINY_RCU=y
+CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_SRCU=y
-CONFIG_TINY_SRCU=y
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
@@ -539,11 +543,7 @@ CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
# CONFIG_IOSCHED_BFQ is not set
CONFIG_ASN1=y
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-CONFIG_INLINE_READ_UNLOCK=y
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-CONFIG_INLINE_WRITE_UNLOCK=y
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_FREEZER=y
@@ -3176,6 +3176,7 @@ CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
CONFIG_SCHED_STACK_END_CHECK=y
# CONFIG_DEBUG_TIMEKEEPING is not set
+CONFIG_DEBUG_PREEMPT=y
#
# Lock Debugging (spinlocks, mutexes, etc...)
@@ -3207,6 +3208,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
#
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
@@ -3236,6 +3238,7 @@ CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
# CONFIG_PREEMPTIRQ_EVENTS is not set
# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
CONFIG_SCHED_TRACER=y
# CONFIG_HWLAT_TRACER is not set
# CONFIG_FTRACE_SYSCALLS is not set