@@ -442,6 +442,24 @@ 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
+ int "Kernel stack size (in bytes)" if EXPERT
+ range 4096 65536
+ default 8192 if 32BIT && !KASAN
+ default 32768 if 64BIT && KASAN
+ default 16384
+ 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.
+
+config THREAD_SIZE_ORDER
+ int
+ default 0 if THREAD_SIZE = 4096
+ default 1 if THREAD_SIZE <= 8192
+ default 2 if THREAD_SIZE <= 16384
+ default 3 if THREAD_SIZE <= 32768
+ default 4
+
endmenu # "Platform type"
menu "Kernel features"
@@ -11,18 +11,8 @@
#include <asm/page.h>
#include <linux/const.h>
-#ifdef CONFIG_KASAN
-#define KASAN_STACK_ORDER 1
-#else
-#define KASAN_STACK_ORDER 0
-#endif
-
/* thread information allocation */
-#ifdef CONFIG_64BIT
-#define THREAD_SIZE_ORDER (2 + KASAN_STACK_ORDER)
-#else
-#define THREAD_SIZE_ORDER (1 + KASAN_STACK_ORDER)
-#endif
+#define THREAD_SIZE_ORDER CONFIG_THREAD_SIZE_ORDER
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
/*