mirror-linux/arch
Michael Ellerman 9ccf64e763 powerpc/64s: Increase default stack size to 32KB
commit 18f14afe28 upstream.

There are reports of kernels crashing due to stack overflow while
running OpenShift (Kubernetes). The primary contributor to the stack
usage seems to be openvswitch, which is used by OVN-Kubernetes (based on
OVN (Open Virtual Network)), but NFS also contributes in some stack
traces.

There may be some opportunities to reduce stack usage in the openvswitch
code, but doing so potentially require tradeoffs vs performance, and
also requires testing across architectures.

Looking at stack usage across the kernel (using -fstack-usage), shows
that ppc64le stack frames are on average 50-100% larger than the
equivalent function built for x86-64. Which is not surprising given the
minimum stack frame size is 32 bytes on ppc64le vs 16 bytes on x86-64.

So increase the default stack size to 32KB for the modern 64-bit Book3S
platforms, ie. pseries (virtualised) and powernv (bare metal). That
leaves the older systems like G5s, and the AmigaOne (pasemi) with a 16KB
stack which should be sufficient on those machines.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Aneesh Kumar K.V (IBM) <aneesh.kumar@kernel.org>
Link: https://msgid.link/20231215124449.317597-1-mpe@ellerman.id.au
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-25 15:27:39 -08:00
..
alpha alpha: remove __init annotation from exported page_is_ram() 2023-08-16 18:27:31 +02:00
arc ARC: fix spare error 2024-01-20 11:50:08 +01:00
arm ARM: davinci: always select CONFIG_CPU_ARM926T 2024-01-25 15:27:31 -08:00
arm64 arm64: dts: qcom: ipq6018: Fix up indentation 2024-01-25 15:27:29 -08:00
csky csky: fix arch_jump_label_transform_static override 2024-01-25 15:27:23 -08:00
hexagon mm/fault: convert remaining simple cases to lock_mm_and_find_vma() 2023-07-01 13:16:25 +02:00
ia64 ia64/cpu: Switch to arch_cpu_finalize_init() 2023-08-08 20:03:46 +02:00
loongarch LoongArch: Preserve syscall nr across execve() 2024-01-20 11:50:06 +01:00
m68k m68k: Fix invalid .section syntax 2023-09-13 09:42:21 +02:00
microblaze mm: always expand the stack with the mmap write lock held 2023-07-01 13:16:25 +02:00
mips mips/smp: Call rcutree_report_cpu_starting() earlier 2024-01-25 15:27:39 -08:00
nios2 mm/fault: convert remaining simple cases to lock_mm_and_find_vma() 2023-07-01 13:16:25 +02:00
openrisc mm: always expand the stack with the mmap write lock held 2023-07-01 13:16:25 +02:00
parisc parisc: Fix asm operand number out of range build error in bug table 2023-12-13 18:39:24 +01:00
powerpc powerpc/64s: Increase default stack size to 32KB 2024-01-25 15:27:39 -08:00
riscv RISC-V: Fix do_notify_resume / do_work_pending prototype 2024-01-01 12:39:05 +00:00
s390 s390/cpumf: support user space events for counting 2024-01-10 17:10:30 +01:00
sh sh: bios: Revive earlyprintk support 2023-11-20 11:52:07 +01:00
sparc sparc32: fix a braino in fault handling in csum_and_copy_..._user() 2023-11-02 09:35:32 +01:00
um um: Fix hostaudio build errors 2023-09-13 09:42:58 +02:00
x86 x86/mce/inject: Clear test status value 2024-01-25 15:27:18 -08:00
xtensa xtensa: boot/lib: fix function prototypes 2023-10-06 14:56:49 +02:00
.gitignore
Kconfig cpu/SMT: Create topology_smt_thread_allowed() 2024-01-10 17:10:26 +01:00