Re: CONFIG_PREEMPT_DYNAMIC=y?
Hi,
On 2023-10-08 07:17, Diederik de Haas wrote:
> $ grep PREEMPT_DYNAMIC /boot/config-6.5.0-1-amd64
> CONFIG_PREEMPT_DYNAMIC=y
> CONFIG_HAVE_PREEMPT_DYNAMIC=y
> CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
[...]
> $ grep PREEMPT_DYNAMIC /boot/config-6.1.0-13-arm64
> # CONFIG_PREEMPT_DYNAMIC is not set
> CONFIG_HAVE_PREEMPT_DYNAMIC=y
> CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
CONFIG_PREEMPT_DYNAMIC is set to 'y' by default on amd64 due to
HAVE_PREEMPT_DYNAMIC_CALL being 'y', see:
https://sources.debian.org/src/linux/6.5.6-1/kernel/Kconfig.preempt/?hl=101#L101
arm64 does not have PREEMPT_DYNAMIC_CALL, this is why PREEMPT_DYNAMIC is
not set by default there. However, there's another feature which is
functionally equivalent, PREEMPT_DYNAMIC_KEY. While _CALL and _KEY are
equivalent, in theory _KEY may have more overhead. See:
https://lore.kernel.org/lkml/20220214165216.2231574-1-mark.rutland@arm.com/#t
SUSE and Fedora both seem to have CONFIG_HAVE_PREEMPT_DYNAMIC=y on
arm64, see:
https://github.com/SUSE/kernel-source/blob/SLE15-SP6/config/arm64/default#L123
https://src.fedoraproject.org/rpms/kernel/blob/f34/f/kernel.spec#_4458
Setting CONFIG_HAVE_PREEMPT_DYNAMIC=y on arm64 is likely safe for us
too, but we may want to run some benchmark first to see if there are any
noticeable slowdowns.
Reply to: