lkml.org 
[lkml]   [2022]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 03/12] mm, slub: disable SYSFS support with CONFIG_SLUB_TINY
    Date
    Currently SLUB enables its sysfs support depending unconditionally on
    the general CONFIG_SYSFS setting. To reduce the configuration
    combination space, make CONFIG_SLUB_TINY disable SLUB's sysfs support by
    reusing the existing SLAB_SUPPORTS_SYSFS define. It is unlikely that
    real tiny systems would combine CONFIG_SLUB_TINY with CONFIG_SYSFS, but
    a randconfig might.

    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    ---
    include/linux/slub_def.h | 2 +-
    mm/slub.c | 12 ++++++------
    2 files changed, 7 insertions(+), 7 deletions(-)

    diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h
    index f9c68a9dac04..c186f25c8148 100644
    --- a/include/linux/slub_def.h
    +++ b/include/linux/slub_def.h
    @@ -142,7 +142,7 @@ struct kmem_cache {
    struct kmem_cache_node *node[MAX_NUMNODES];
    };

    -#ifdef CONFIG_SYSFS
    +#if defined(CONFIG_SYSFS) && !defined(CONFIG_SLUB_TINY)
    #define SLAB_SUPPORTS_SYSFS
    void sysfs_slab_unlink(struct kmem_cache *);
    void sysfs_slab_release(struct kmem_cache *);
    diff --git a/mm/slub.c b/mm/slub.c
    index 157527d7101b..ab085aa2f1f0 100644
    --- a/mm/slub.c
    +++ b/mm/slub.c
    @@ -298,7 +298,7 @@ struct track {

    enum track_item { TRACK_ALLOC, TRACK_FREE };

    -#ifdef CONFIG_SYSFS
    +#ifdef SLAB_SUPPORTS_SYSFS
    static int sysfs_slab_add(struct kmem_cache *);
    static int sysfs_slab_alias(struct kmem_cache *, const char *);
    #else
    @@ -2935,7 +2935,7 @@ static noinline void free_debug_processing(
    }
    #endif /* CONFIG_SLUB_DEBUG */

    -#if defined(CONFIG_SLUB_DEBUG) || defined(CONFIG_SYSFS)
    +#if defined(CONFIG_SLUB_DEBUG) || defined(SLAB_SUPPORTS_SYSFS)
    static unsigned long count_partial(struct kmem_cache_node *n,
    int (*get_count)(struct slab *))
    {
    @@ -2949,7 +2949,7 @@ static unsigned long count_partial(struct kmem_cache_node *n,
    spin_unlock_irqrestore(&n->list_lock, flags);
    return x;
    }
    -#endif /* CONFIG_SLUB_DEBUG || CONFIG_SYSFS */
    +#endif /* CONFIG_SLUB_DEBUG || SLAB_SUPPORTS_SYSFS */

    static noinline void
    slab_out_of_memory(struct kmem_cache *s, gfp_t gfpflags, int nid)
    @@ -4924,7 +4924,7 @@ int __kmem_cache_create(struct kmem_cache *s, slab_flags_t flags)
    return 0;
    }

    -#ifdef CONFIG_SYSFS
    +#ifdef SLAB_SUPPORTS_SYSFS
    static int count_inuse(struct slab *slab)
    {
    return slab->inuse;
    @@ -5182,7 +5182,7 @@ static void process_slab(struct loc_track *t, struct kmem_cache *s,
    #endif /* CONFIG_DEBUG_FS */
    #endif /* CONFIG_SLUB_DEBUG */

    -#ifdef CONFIG_SYSFS
    +#ifdef SLAB_SUPPORTS_SYSFS
    enum slab_stat_type {
    SL_ALL, /* All slabs */
    SL_PARTIAL, /* Only partially allocated slabs */
    @@ -6056,7 +6056,7 @@ static int __init slab_sysfs_init(void)
    }

    __initcall(slab_sysfs_init);
    -#endif /* CONFIG_SYSFS */
    +#endif /* SLAB_SUPPORTS_SYSFS */

    #if defined(CONFIG_SLUB_DEBUG) && defined(CONFIG_DEBUG_FS)
    static int slab_debugfs_show(struct seq_file *seq, void *v)
    --
    2.38.1
    \
     
     \ /
      Last update: 2022-11-21 18:13    [W:4.484 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site