(also resending this reply from @kernel.org)
On Fri, Oct 16, 2020 at 12:19 PM Arnd Bergmann <[email protected]> wrote: > On Thu, Oct 8, 2020 at 9:20 AM Maninder Singh <[email protected]> wrote: > > > > This patch adds code for switching to IRQ stack. > > IRQ stack and Kernel SVC stack have below design. > > > > IRQ STACK:- > > ------------ IRQ stack top > > | | > > ------------ > > . . > > . . > > . . > > ------------ > > | sp | <- irq_stack_base + 0x8 > > ------------ > > | fp | <- irq_stack_base + 0x4 > > ------------ > > |tinfo_ptr | /* pointer to thread info */ > > irq_stack_ptr --> ------------ IRQ stack base > > > > Kernel SVC stack:- > > ------------ Kernel stack top > > | | > > ------------ > > . . > > . . > > . . > > ------------ > > | | > > | | > > ------------ > > |tinfo_ptr | /* pointer to thread info */ > > ------------ Kernel stack base > > The extra indirection doesn't look great, and I don't see any of the > other architectures need that. Since we can access percpu data > without going through thread_info, maybe doing the same as > x86 would work here: > > - define 'current' as 'this_cpu_read_stable(current_task);' > - convert to CONFIG_THREAD_INFO_IN_TASK > > Arnd

