Message ID | 20230310103210.22372-4-vbabka@suse.cz (mailing list archive) |
---|---|
State | Mainlined, archived |
Headers | show |
Series | remove SLOB and allow kfree() with kmem_cache_alloc() | expand |
On Fri, Mar 10, 2023 at 11:32:05AM +0100, Vlastimil Babka wrote: > With SLOB removed we no longer need the PG_slob_free alias for > PG_private. Also update tools/mm/page-types. > > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> > --- > include/linux/page-flags.h | 4 ---- > tools/mm/page-types.c | 6 +----- > 2 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index a7e3a3405520..2bdc41cb0594 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -174,9 +174,6 @@ enum pageflags { > /* Remapped by swiotlb-xen. */ > PG_xen_remapped = PG_owner_priv_1, > > - /* SLOB */ > - PG_slob_free = PG_private, > - > #ifdef CONFIG_MEMORY_FAILURE > /* > * Compound pages. Stored in first tail page's flags. > @@ -483,7 +480,6 @@ PAGEFLAG(Active, active, PF_HEAD) __CLEARPAGEFLAG(Active, active, PF_HEAD) > PAGEFLAG(Workingset, workingset, PF_HEAD) > TESTCLEARFLAG(Workingset, workingset, PF_HEAD) > __PAGEFLAG(Slab, slab, PF_NO_TAIL) > -__PAGEFLAG(SlobFree, slob_free, PF_NO_TAIL) > PAGEFLAG(Checked, checked, PF_NO_COMPOUND) /* Used by some filesystems */ > > /* Xen */ > diff --git a/tools/mm/page-types.c b/tools/mm/page-types.c > index 381dcc00cb62..8d5595b6c59f 100644 > --- a/tools/mm/page-types.c > +++ b/tools/mm/page-types.c > @@ -85,7 +85,6 @@ > */ > #define KPF_ANON_EXCLUSIVE 47 > #define KPF_READAHEAD 48 > -#define KPF_SLOB_FREE 49 > #define KPF_SLUB_FROZEN 50 > #define KPF_SLUB_DEBUG 51 > #define KPF_FILE 61 > @@ -141,7 +140,6 @@ static const char * const page_flag_names[] = { > > [KPF_ANON_EXCLUSIVE] = "d:anon_exclusive", > [KPF_READAHEAD] = "I:readahead", > - [KPF_SLOB_FREE] = "P:slob_free", > [KPF_SLUB_FROZEN] = "A:slub_frozen", > [KPF_SLUB_DEBUG] = "E:slub_debug", > > @@ -478,10 +476,8 @@ static uint64_t expand_overloaded_flags(uint64_t flags, uint64_t pme) > if ((flags & BIT(ANON)) && (flags & BIT(MAPPEDTODISK))) > flags ^= BIT(MAPPEDTODISK) | BIT(ANON_EXCLUSIVE); > > - /* SLOB/SLUB overload several page flags */ > + /* SLUB overloads several page flags */ > if (flags & BIT(SLAB)) { > - if (flags & BIT(PRIVATE)) > - flags ^= BIT(PRIVATE) | BIT(SLOB_FREE); > if (flags & BIT(ACTIVE)) > flags ^= BIT(ACTIVE) | BIT(SLUB_FROZEN); > if (flags & BIT(ERROR)) > -- > 2.39.2 Acked-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
On Fri, Mar 10, 2023 at 11:32:05AM +0100, Vlastimil Babka wrote: > With SLOB removed we no longer need the PG_slob_free alias for > PG_private. Also update tools/mm/page-types. > > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> > --- > include/linux/page-flags.h | 4 ---- > tools/mm/page-types.c | 6 +----- > 2 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index a7e3a3405520..2bdc41cb0594 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -174,9 +174,6 @@ enum pageflags { > /* Remapped by swiotlb-xen. */ > PG_xen_remapped = PG_owner_priv_1, > > - /* SLOB */ > - PG_slob_free = PG_private, > - > #ifdef CONFIG_MEMORY_FAILURE > /* > * Compound pages. Stored in first tail page's flags. > @@ -483,7 +480,6 @@ PAGEFLAG(Active, active, PF_HEAD) __CLEARPAGEFLAG(Active, active, PF_HEAD) > PAGEFLAG(Workingset, workingset, PF_HEAD) > TESTCLEARFLAG(Workingset, workingset, PF_HEAD) > __PAGEFLAG(Slab, slab, PF_NO_TAIL) > -__PAGEFLAG(SlobFree, slob_free, PF_NO_TAIL) > PAGEFLAG(Checked, checked, PF_NO_COMPOUND) /* Used by some filesystems */ > > /* Xen */ > diff --git a/tools/mm/page-types.c b/tools/mm/page-types.c > index 381dcc00cb62..8d5595b6c59f 100644 > --- a/tools/mm/page-types.c > +++ b/tools/mm/page-types.c > @@ -85,7 +85,6 @@ > */ > #define KPF_ANON_EXCLUSIVE 47 > #define KPF_READAHEAD 48 > -#define KPF_SLOB_FREE 49 > #define KPF_SLUB_FROZEN 50 > #define KPF_SLUB_DEBUG 51 > #define KPF_FILE 61 > @@ -141,7 +140,6 @@ static const char * const page_flag_names[] = { > > [KPF_ANON_EXCLUSIVE] = "d:anon_exclusive", > [KPF_READAHEAD] = "I:readahead", > - [KPF_SLOB_FREE] = "P:slob_free", > [KPF_SLUB_FROZEN] = "A:slub_frozen", > [KPF_SLUB_DEBUG] = "E:slub_debug", > > @@ -478,10 +476,8 @@ static uint64_t expand_overloaded_flags(uint64_t flags, uint64_t pme) > if ((flags & BIT(ANON)) && (flags & BIT(MAPPEDTODISK))) > flags ^= BIT(MAPPEDTODISK) | BIT(ANON_EXCLUSIVE); > > - /* SLOB/SLUB overload several page flags */ > + /* SLUB overloads several page flags */ > if (flags & BIT(SLAB)) { > - if (flags & BIT(PRIVATE)) > - flags ^= BIT(PRIVATE) | BIT(SLOB_FREE); > if (flags & BIT(ACTIVE)) > flags ^= BIT(ACTIVE) | BIT(SLUB_FROZEN); > if (flags & BIT(ERROR)) > -- > 2.39.2 > Looks good to me too, Acked-by: Lorenzo Stoakes <lstoakes@gmail.com>
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index a7e3a3405520..2bdc41cb0594 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -174,9 +174,6 @@ enum pageflags { /* Remapped by swiotlb-xen. */ PG_xen_remapped = PG_owner_priv_1, - /* SLOB */ - PG_slob_free = PG_private, - #ifdef CONFIG_MEMORY_FAILURE /* * Compound pages. Stored in first tail page's flags. @@ -483,7 +480,6 @@ PAGEFLAG(Active, active, PF_HEAD) __CLEARPAGEFLAG(Active, active, PF_HEAD) PAGEFLAG(Workingset, workingset, PF_HEAD) TESTCLEARFLAG(Workingset, workingset, PF_HEAD) __PAGEFLAG(Slab, slab, PF_NO_TAIL) -__PAGEFLAG(SlobFree, slob_free, PF_NO_TAIL) PAGEFLAG(Checked, checked, PF_NO_COMPOUND) /* Used by some filesystems */ /* Xen */ diff --git a/tools/mm/page-types.c b/tools/mm/page-types.c index 381dcc00cb62..8d5595b6c59f 100644 --- a/tools/mm/page-types.c +++ b/tools/mm/page-types.c @@ -85,7 +85,6 @@ */ #define KPF_ANON_EXCLUSIVE 47 #define KPF_READAHEAD 48 -#define KPF_SLOB_FREE 49 #define KPF_SLUB_FROZEN 50 #define KPF_SLUB_DEBUG 51 #define KPF_FILE 61 @@ -141,7 +140,6 @@ static const char * const page_flag_names[] = { [KPF_ANON_EXCLUSIVE] = "d:anon_exclusive", [KPF_READAHEAD] = "I:readahead", - [KPF_SLOB_FREE] = "P:slob_free", [KPF_SLUB_FROZEN] = "A:slub_frozen", [KPF_SLUB_DEBUG] = "E:slub_debug", @@ -478,10 +476,8 @@ static uint64_t expand_overloaded_flags(uint64_t flags, uint64_t pme) if ((flags & BIT(ANON)) && (flags & BIT(MAPPEDTODISK))) flags ^= BIT(MAPPEDTODISK) | BIT(ANON_EXCLUSIVE); - /* SLOB/SLUB overload several page flags */ + /* SLUB overloads several page flags */ if (flags & BIT(SLAB)) { - if (flags & BIT(PRIVATE)) - flags ^= BIT(PRIVATE) | BIT(SLOB_FREE); if (flags & BIT(ACTIVE)) flags ^= BIT(ACTIVE) | BIT(SLUB_FROZEN); if (flags & BIT(ERROR))
With SLOB removed we no longer need the PG_slob_free alias for PG_private. Also update tools/mm/page-types. Signed-off-by: Vlastimil Babka <vbabka@suse.cz> --- include/linux/page-flags.h | 4 ---- tools/mm/page-types.c | 6 +----- 2 files changed, 1 insertion(+), 9 deletions(-)