Message ID | 20221208025816.138712-11-guoren@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | riscv: Add GENERIC_ENTRY support and related features | expand |
Context | Check | Description |
---|---|---|
conchuod/patch_count | success | Link |
conchuod/cover_letter | success | Series has a cover letter |
conchuod/tree_selection | fail | Guessing tree name failed |
conchuod/fixes_present | success | Fixes tag not required for -next series |
conchuod/verify_signedoff | success | Signed-off-by tag matches author and committer |
conchuod/kdoc | success | Errors and warnings before: 0 this patch: 0 |
conchuod/module_param | success | Was 0 now: 0 |
conchuod/alphanumeric_selects | success | Out of order selects before the patch: 57 and now 57 |
conchuod/build_rv32_defconfig | fail | Link |
guoren@kernel.org writes: > From: Guo Ren <guoren@linux.alibaba.com> > > 0cac21b02ba5 ("risc v: use 16KB kernel stack on 64-bit") increase the checkpatch complains here: Use "commit SHA...". > 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. ...and again, my "why is this in the generic entry" series rant. :-) Björn
On Thu, Dec 8, 2022 at 6:12 PM Björn Töpel <bjorn@kernel.org> wrote: > > guoren@kernel.org writes: > > > From: Guo Ren <guoren@linux.alibaba.com> > > > > 0cac21b02ba5 ("risc v: use 16KB kernel stack on 64-bit") increase the > > checkpatch complains here: Use "commit SHA...". Okay, I would check that. > > > 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. > > ...and again, my "why is this in the generic entry" series rant. :-) I would remove it from the generic entry series. > > > Björn
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index bd4c4ae4cdc9..60202cd5c5ae 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -455,6 +455,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" diff --git a/arch/riscv/include/asm/thread_info.h b/arch/riscv/include/asm/thread_info.h index 043da8ccc7e6..c970d41dc4c6 100644 --- a/arch/riscv/include/asm/thread_info.h +++ b/arch/riscv/include/asm/thread_info.h @@ -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) /*