On 2024/8/2 19:44, Russell King (Oracle) wrote: > On Wed, Jul 31, 2024 at 10:07:53AM +0800, Jinjie Ruan wrote: >> On 2024/6/20 17:00, Jinjie Ruan wrote: >>> Enable support for PREEMPT_DYNAMIC on arm32, allowing the preemption model >>> to be chosen at boot time. >>> >>> Similar to arm64, arm32 does not yet use the generic entry code, we must >>> define our own `sk_dynamic_irqentry_exit_cond_resched`, which will be >>> enabled/disabled by the common code in kernel/sched/core.c. >>> >>> And arm32 use generic preempt.h, so declare >>> `sk_dynamic_irqentry_exit_cond_resched` if the arch do not use generic >>> entry. Other architectures which use generic preempt.h but not use generic >>> entry can benefit from it. >>> >>> Test ok with the below cmdline parameters on Qemu versatilepb board: >>> `preempt=none` >>> `preempt=voluntary` >>> `preempt=full` >>> >>> Update preempt mode with debugfs interface on above Qemu board is also >>> tested ok: >>> # cd /sys/kernel/debug/sched >>> # echo none > preempt >>> # echo voluntary > preempt >>> # echo full > preempt > > Do you have a use case for this feature? Yes, many of our ARM32 products use different preemption models, and it would be much more convenient if we could configure it at startup. >