]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
powerpc: Add preempt lazy support
authorShrikanth Hegde <sshegde@linux.ibm.com>
Sat, 16 Nov 2024 19:23:05 +0000 (00:53 +0530)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Thu, 19 Dec 2024 08:51:08 +0000 (14:21 +0530)
commit00199ed6f2ca6601b2c5856fac64132303d9437a
tree4937b100b45475323bf4dea7798b261ef111f5d3
parentd629d7a8efc33d05d62f4805c0ffb44727e3d99f
powerpc: Add preempt lazy support

Define preempt lazy bit for Powerpc. Use bit 9 which is free and within
16 bit range of NEED_RESCHED, so compiler can issue single andi.

Since Powerpc doesn't use the generic entry/exit, add lazy check at exit
to user. CONFIG_PREEMPTION is defined for lazy/full/rt so use it for
return to kernel.

Ran a few benchmarks and db workload on Power10. Performance is close to
preempt=none/voluntary.

Since Powerpc systems can have large core count and large memory,
preempt lazy is going to be helpful in avoiding soft lockup issues.

Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Ankur Arora <ankur.a.arora@oracle.com>
Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20241116192306.88217-2-sshegde@linux.ibm.com
arch/powerpc/Kconfig
arch/powerpc/include/asm/thread_info.h
arch/powerpc/kernel/interrupt.c