On Mon, Nov 20, 2023 at 07:34:23PM +0100, Vlastimil Babka wrote: > The #include's are scattered at several places of the file, but it does > not seem this is needed to prevent any include loops (anymore?) so > consolidate them at the top. Also move the misplaced kmem_cache_init() > declaration away from the top. > > Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> > --- > mm/slab.h | 28 ++++++++++++++-------------- > 1 file changed, 14 insertions(+), 14 deletions(-) > > diff --git a/mm/slab.h b/mm/slab.h > index 3a8d13c099fa..1ac3a2f8d4c0 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -1,10 +1,22 @@ > /* SPDX-License-Identifier: GPL-2.0 */ > #ifndef MM_SLAB_H > #define MM_SLAB_H > + > +#include <linux/reciprocal_div.h> > +#include <linux/list_lru.h> > +#include <linux/local_lock.h> > +#include <linux/random.h> > +#include <linux/kobject.h> > +#include <linux/sched/mm.h> > +#include <linux/memcontrol.h> > +#include <linux/fault-inject.h> > +#include <linux/kmemleak.h> > +#include <linux/kfence.h> > +#include <linux/kasan.h> > + > /* > * Internal slab definitions > */ > -void __init kmem_cache_init(void); > > #ifdef CONFIG_64BIT > # ifdef system_has_cmpxchg128 > @@ -209,11 +221,6 @@ static inline size_t slab_size(const struct slab *slab) > return PAGE_SIZE << slab_order(slab); > } > > -#include <linux/kfence.h> > -#include <linux/kobject.h> > -#include <linux/reciprocal_div.h> > -#include <linux/local_lock.h> > - > #ifdef CONFIG_SLUB_CPU_PARTIAL > #define slub_percpu_partial(c) ((c)->partial) > > @@ -347,14 +354,6 @@ static inline int objs_per_slab(const struct kmem_cache *cache, > return slab->objects; > } > > -#include <linux/memcontrol.h> > -#include <linux/fault-inject.h> > -#include <linux/kasan.h> > -#include <linux/kmemleak.h> > -#include <linux/random.h> > -#include <linux/sched/mm.h> > -#include <linux/list_lru.h> > - > /* > * State of the slab allocator. > * > @@ -405,6 +404,7 @@ gfp_t kmalloc_fix_flags(gfp_t flags); > /* Functions provided by the slab allocators */ > int __kmem_cache_create(struct kmem_cache *, slab_flags_t flags); > > +void __init kmem_cache_init(void); > void __init new_kmalloc_cache(int idx, enum kmalloc_cache_type type, > slab_flags_t flags); > extern void create_boot_cache(struct kmem_cache *, const char *name, Looks good to me, Reviewed-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx> > > -- > 2.42.1 > >