diff options
author | Vineet Gupta <vgupta@kernel.org> | 2020-05-14 16:26:45 -0700 |
---|---|---|
committer | Vineet Gupta <vgupta@kernel.org> | 2023-08-17 20:31:59 -0700 |
commit | d1d1569e89e9cc5c07a389ac859bd045b906923c (patch) | |
tree | 913967459468fc425a555af4286afa29a2a6a65a /arch/arc | |
parent | cfca4b5abe0cc13f9d9f45f760efd8260e31200f (diff) | |
download | lwn-d1d1569e89e9cc5c07a389ac859bd045b906923c.tar.gz lwn-d1d1569e89e9cc5c07a389ac859bd045b906923c.zip |
ARC: kernel stack: INIT_THREAD need not setup @init_stack in @ksp
There are 2 pointers to kernel mode stack of a task
- task_struct.stack: base address of stack page (max possible stack top)
- thread_info.ksp : runtime stack top in __switch_to
INIT_THREAD was setting up ksp to stack base which was not really needed
- it would get overwritten with dynamic value on first call to
__switch_to when init is switched out for the very first time.
- generic code already does
init_task.stack = init_stack
and ARC code uses that to retrieve task's stack base.
Signed-off-by: Vineet Gupta <vgupta@kernel.org>
Diffstat (limited to 'arch/arc')
-rw-r--r-- | arch/arc/include/asm/processor.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/arc/include/asm/processor.h b/arch/arc/include/asm/processor.h index fb844fce1ab6..82ddc929d6e7 100644 --- a/arch/arc/include/asm/processor.h +++ b/arch/arc/include/asm/processor.h @@ -33,9 +33,7 @@ struct thread_struct { #endif }; -#define INIT_THREAD { \ - .ksp = sizeof(init_stack) + (unsigned long) init_stack, \ -} +#define INIT_THREAD { } /* Forward declaration, a strange C thing */ struct task_struct; |