Re: [PATCHv7 11/19] x86/mm: Make STACK_TOP_MAX dynamic

From: Kirill A. Shutemov
Date: Thu Sep 28 2017 - 09:19:18 EST


On Thu, Sep 28, 2017 at 10:29:55AM +0200, Ingo Molnar wrote:
>
> * Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
>
> > For boot-time switching between paging modes, we need to be able to
> > change STACK_TOP_MAX at runtime.
> >
> > The change is trivial and it doesn't affect kernel image size.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> > ---
> > arch/x86/include/asm/processor.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
> > index 3fa26a61eabc..fa9300ccce1b 100644
> > --- a/arch/x86/include/asm/processor.h
> > +++ b/arch/x86/include/asm/processor.h
> > @@ -871,7 +871,7 @@ static inline void spin_lock_prefetch(const void *x)
> > IA32_PAGE_OFFSET : TASK_SIZE_MAX)
> >
> > #define STACK_TOP TASK_SIZE_LOW
> > -#define STACK_TOP_MAX TASK_SIZE_MAX
> > +#define STACK_TOP_MAX (pgtable_l5_enabled ? TASK_SIZE_MAX : DEFAULT_MAP_WINDOW)
>
> While it's only used once in fs/exec.c, why doesn't it affect kernel image size?

Oh. After closer look the patch is redundant. The STACK_TOP_MAX is already
dynamic due to dynamic TASK_SIZE_MAX, so gcc generates exactly the same
code before and after the patch.

I'll drop it.

--
Kirill A. Shutemov