| From 0cac21b02ba5f3095fd2dcc77c26a25a0b2432ed Mon Sep 17 00:00:00 2001 |
| From: Andreas Schwab <schwab@suse.de> |
| Date: Mon, 6 Jul 2020 14:32:26 +0200 |
| Subject: riscv: use 16KB kernel stack on 64-bit |
| |
| From: Andreas Schwab <schwab@suse.de> |
| |
| commit 0cac21b02ba5f3095fd2dcc77c26a25a0b2432ed upstream. |
| |
| With the current 8KB stack size there are frequent overflows in a 64-bit |
| configuration. We may split IRQ stacks off in the future, but this fixes a |
| number of issues right now. |
| |
| Signed-off-by: Andreas Schwab <schwab@suse.de> |
| Reviewed-by: Anup Patel <anup@brainfault.org> |
| [Palmer: mention irqstack in the commit text] |
| Fixes: 7db91e57a0ac ("RISC-V: Task implementation") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/riscv/include/asm/thread_info.h | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/arch/riscv/include/asm/thread_info.h |
| +++ b/arch/riscv/include/asm/thread_info.h |
| @@ -12,7 +12,11 @@ |
| #include <linux/const.h> |
| |
| /* thread information allocation */ |
| +#ifdef CONFIG_64BIT |
| +#define THREAD_SIZE_ORDER (2) |
| +#else |
| #define THREAD_SIZE_ORDER (1) |
| +#endif |
| #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER) |
| |
| #ifndef __ASSEMBLY__ |