summaryrefslogtreecommitdiff
path: root/arch/riscv/Kconfig
diff options
context:
space:
mode:
authorGuo Ren <guoren@linux.alibaba.com>2023-06-14 04:30:18 +0300
committerPalmer Dabbelt <palmer@rivosinc.com>2023-06-22 20:38:37 +0300
commita7555f6b62e7f5b3a3b783cc6d4c4dafcb8527c8 (patch)
treefff39ffa8d5794d57a8d43c64268705b71acd017 /arch/riscv/Kconfig
parentdd69d07a5a6c5a9ada85321ab0695e7978fc6f3e (diff)
downloadlinux-a7555f6b62e7f5b3a3b783cc6d4c4dafcb8527c8.tar.xz
riscv: stack: Add config of thread stack size
The commit 0cac21b02ba5 ("riscv: use 16KB kernel stack on 64-bit") increases the thread size mandatory, but some scenarios, such as D1 with a small memory footprint, would suffer from that. After independent irq stack support, let's give users a choice to determine their custom stack size. Link: https://lore.kernel.org/linux-riscv/5f6e6c39-b846-4392-b468-02202404de28@www.fastmail.com/ Suggested-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Jisheng Zhang <jszhang@kernel.org> Signed-off-by: Guo Ren <guoren@linux.alibaba.com> Signed-off-by: Guo Ren <guoren@kernel.org> Link: https://lore.kernel.org/r/20230614013018.2168426-4-guoren@kernel.org Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch/riscv/Kconfig')
-rw-r--r--arch/riscv/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index f515cb101c19..0599bba13654 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -599,6 +599,16 @@ config IRQ_STACKS
Add independent irq & softirq stacks for percpu to prevent kernel stack
overflows. We may save some memory footprint by disabling IRQ_STACKS.
+config THREAD_SIZE_ORDER
+ int "Kernel stack size (in power-of-two numbers of page size)" if VMAP_STACK && EXPERT
+ range 0 4
+ default 1 if 32BIT && !KASAN
+ default 3 if 64BIT && KASAN
+ default 2
+ help
+ Specify the Pages of thread stack size (from 4KB to 64KB), which also
+ affects irq stack size, which is equal to thread stack size.
+
endmenu # "Platform type"
menu "Kernel features"