Messages in this thread | | | Date | Wed, 6 May 2015 13:12:45 +0200 | From | Michal Hocko <> | Subject | Re: [PATCH] mm: only define hashdist variable when needed |
| |
On Mon 04-05-15 17:27:29, Rasmus Villemoes wrote: > For !CONFIG_NUMA, hashdist will always be 0, since it's setter is > otherwise compiled out. So we can save 4 bytes of data and some .text > (although mostly in __init functions) by only defining it for > CONFIG_NUMA. > > Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
> --- > include/linux/bootmem.h | 8 ++++---- > mm/page_alloc.c | 2 +- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h > index 0995c2de8162..f589222bfa87 100644 > --- a/include/linux/bootmem.h > +++ b/include/linux/bootmem.h > @@ -357,12 +357,12 @@ extern void *alloc_large_system_hash(const char *tablename, > /* Only NUMA needs hash distribution. 64bit NUMA architectures have > * sufficient vmalloc space. > */ > -#if defined(CONFIG_NUMA) && defined(CONFIG_64BIT) > -#define HASHDIST_DEFAULT 1 > +#ifdef CONFIG_NUMA > +#define HASHDIST_DEFAULT IS_ENABLED(CONFIG_64BIT) > +extern int hashdist; /* Distribute hashes across NUMA nodes? */ > #else > -#define HASHDIST_DEFAULT 0 > +#define hashdist (0) > #endif > -extern int hashdist; /* Distribute hashes across NUMA nodes? */ > > > #endif /* _LINUX_BOOTMEM_H */ > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index ebffa0e4a9c0..159dbbc3375d 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -6013,9 +6013,9 @@ out: > return ret; > } > > +#ifdef CONFIG_NUMA > int hashdist = HASHDIST_DEFAULT; > > -#ifdef CONFIG_NUMA > static int __init set_hashdist(char *str) > { > if (!str) > -- > 2.1.3 >
-- Michal Hocko SUSE Labs
| |