Re: [PATCH] crash: use macro to add crashk_res into iomem early for specific arch

From: Baoquan He
Date: Mon Mar 25 2024 - 06:02:59 EST


On 03/24/24 at 11:27am, Ingo Molnar wrote:
>
> * Baoquan He <bhe@xxxxxxxxxx> wrote:
>
> > On 03/24/24 at 05:06am, Ingo Molnar wrote:
> > >
> > > * Baoquan He <bhe@xxxxxxxxxx> wrote:
> > >
> > ......snip
> > > > ---
> > > > arch/x86/include/asm/crash_reserve.h | 2 ++
> > > > kernel/crash_reserve.c | 7 +++++++
> > > > 2 files changed, 9 insertions(+)
> > > >
> > > > diff --git a/arch/x86/include/asm/crash_reserve.h b/arch/x86/include/asm/crash_reserve.h
> > > > index 152239f95541..4681a543eba3 100644
> > > > --- a/arch/x86/include/asm/crash_reserve.h
> > > > +++ b/arch/x86/include/asm/crash_reserve.h
> > > > @@ -39,4 +39,6 @@ static inline unsigned long crash_low_size_default(void)
> > > > #endif
> > > > }
> > > >
> > > > +# define HAVE_ARCH_ADD_CRASH_RES_TO_IOMEM_EARLY
> > > > +
> > >
> > > Any reason for that stray space?
> >
> > No clear reason. I saw stray space was added for macro definning when my
> > below patch was merged, not sure if this is preferred.
>
> No, it's not preferred - and I don't see any stray spaces added in the
> code added by:
>
> > commit 85fcde402db1 ("kexec: split crashkernel reservation code out from crash_core.c")

Ah, the stray spaces are added in below macros defining, I thought they
are all the same. I didn't know nested/conditional defines and
standalone defines are different. Thanks for careful checking and telling.

arch/x86/include/asm/crash_reserve.h:
#ifdef CONFIG_X86_32
# define CRASH_ADDR_LOW_MAX SZ_512M
# define CRASH_ADDR_HIGH_MAX SZ_512M
#else
# define CRASH_ADDR_LOW_MAX SZ_4G
# define CRASH_ADDR_HIGH_MAX SZ_64T
#endif

>
> Anyway, please just remove it.

Sure, will update and v2.

>
> > And there are a lot of "# define " when searching with 'git grep "#
> > define " arch/x86/include/'.
>
> The overwhelming majority of those are not standalone defines like
> yours, but nested/conditional defines where the space is justified:
>
> #ifdef CONFIG_X86_32
> # define MAX_IO_APICS 64
> # define MAX_LOCAL_APIC 256
> #else
> # define MAX_IO_APICS 128
> # define MAX_LOCAL_APIC 32768
> #endif
>
> Thanks,
>
> Ingo
>