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

sched/preempt: Tell about PREEMPT_DYNAMIC on kernel headers

Displaying "PREEMPT" on kernel headers when CONFIG_PREEMPT_DYNAMIC=y
can be misleading for anybody involved in remote debugging because it
is then not guaranteed that there is an actual preemption behaviour. It
depends on default Kconfig or boot defined choices.

Therefore, tell about PREEMPT_DYNAMIC on static kernel headers and leave
the search for the actual preemption behaviour to browsing dmesg.

Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20220217111240.GA742892@lothringen

authored by

Frederic Weisbecker and committed by
Peter Zijlstra
a0a7e453 7f434dff

+14 -6
+2 -1
init/Makefile
··· 31 31 cmd_compile.h = \ 32 32 $(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \ 33 33 "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT_BUILD)" \ 34 - "$(CONFIG_PREEMPT_RT)" "$(CONFIG_CC_VERSION_TEXT)" "$(LD)" 34 + "$(CONFIG_PREEMPT_DYNAMIC)" "$(CONFIG_PREEMPT_RT)" \ 35 + "$(CONFIG_CC_VERSION_TEXT)" "$(LD)" 35 36 36 37 include/generated/compile.h: FORCE 37 38 $(call cmd,compile.h)
+12 -5
scripts/mkcompile_h
··· 5 5 ARCH=$2 6 6 SMP=$3 7 7 PREEMPT=$4 8 - PREEMPT_RT=$5 9 - CC_VERSION="$6" 10 - LD=$7 8 + PREEMPT_DYNAMIC=$5 9 + PREEMPT_RT=$6 10 + CC_VERSION="$7" 11 + LD=$8 11 12 12 13 # Do not expand names 13 14 set -f ··· 42 41 UTS_VERSION="#$VERSION" 43 42 CONFIG_FLAGS="" 44 43 if [ -n "$SMP" ] ; then CONFIG_FLAGS="SMP"; fi 45 - if [ -n "$PREEMPT" ] ; then CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT"; fi 46 - if [ -n "$PREEMPT_RT" ] ; then CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT_RT"; fi 44 + 45 + if [ -n "$PREEMPT_RT" ] ; then 46 + CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT_RT" 47 + elif [ -n "$PREEMPT_DYNAMIC" ] ; then 48 + CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT_DYNAMIC" 49 + elif [ -n "$PREEMPT" ] ; then 50 + CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT" 51 + fi 47 52 48 53 # Truncate to maximum length 49 54 UTS_LEN=64