Le 25/11/2024 à 05:22, Shrikanth Hegde a écrit :
Once the lazy preemption is supported, it would be desirable to change the preemption models at runtime. So this change adds support for dynamic preemption using DYNAMIC_KEY. In irq-exit to kernel path, use preempt_model_preemptible for decision. Other way would be using static key based decision. Keeping it simpler since key based change didn't show performance improvement.
What about static_call, wouldn't it improve performance ?
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 6d6bbd93abab..01c58f5258c9 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -270,6 +270,7 @@ config PPC select HAVE_PERF_EVENTS_NMI if PPC64 select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP + select HAVE_PREEMPT_DYNAMIC_KEY
Can you use HAVE_PREEPT_DYNAMIC_CALL instead ? That should be more performant.
I know static calls are not in for PPC64 yet, you can restart from http://patchwork.ozlabs.org/project/linuxppc-dev/cover/20221010002957.128276-1-bg...@linux.ibm.com/ and https://github.com/linuxppc/issues/issues/416
Christophe