Re: [PATCH v5 16/18] mm: remove the __GFP_NO_OBJ_EXT flag
Hao Ge <[email protected]>
| Newsgroups | dev.linux.lists.linux-rt-devel,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On 2026/7/3 20:31, Brendan Jackman wrote: > From: "Vlastimil Babka (SUSE)" <[email protected]> > > All users of the flag are converted to SLAB_ALLOC_NO_RECURSE or > ALLOC_NO_CODETAG (from __GFP_NO_CODETAG which reused the NO_OBJ_EXT bit). > Free up the flag bit. > > Signed-off-by: Vlastimil Babka (SUSE) <[email protected]> > [Rebased onto __GFP_NO_CODETAG removal] > Signed-off-by: Brendan Jackman <[email protected]> Acked-by: Hao Ge <[email protected]> > --- > include/linux/gfp_types.h | 7 ------- > include/trace/events/mmflags.h | 10 +--------- > tools/include/linux/gfp_types.h | 7 ------- > 3 files changed, 1 insertion(+), 23 deletions(-) > > diff --git a/include/linux/gfp_types.h b/include/linux/gfp_types.h > index 463b551d12d99..190191411009f 100644 > --- a/include/linux/gfp_types.h > +++ b/include/linux/gfp_types.h > @@ -55,7 +55,6 @@ enum { > #ifdef CONFIG_LOCKDEP > ___GFP_NOLOCKDEP_BIT, > #endif > - ___GFP_NO_OBJ_EXT_BIT, > ___GFP_LAST_BIT > }; > > @@ -96,7 +95,6 @@ enum { > #else > #define ___GFP_NOLOCKDEP 0 > #endif > -#define ___GFP_NO_OBJ_EXT BIT(___GFP_NO_OBJ_EXT_BIT) > > /* > * Physical address zone modifiers (see linux/mmzone.h - low four bits) > @@ -138,17 +136,12 @@ enum { > * > * %__GFP_ACCOUNT causes the allocation to be accounted to the active > * cgroup context. > - * > - * %__GFP_NO_OBJ_EXT causes slab allocation to have no object extension. > - * mark_obj_codetag_empty() should be called upon freeing for objects allocated > - * with this flag to indicate that their NULL tags are expected and normal. > */ > #define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) > #define __GFP_WRITE ((__force gfp_t)___GFP_WRITE) > #define __GFP_HARDWALL ((__force gfp_t)___GFP_HARDWALL) > #define __GFP_THISNODE ((__force gfp_t)___GFP_THISNODE) > #define __GFP_ACCOUNT ((__force gfp_t)___GFP_ACCOUNT) > -#define __GFP_NO_OBJ_EXT ((__force gfp_t)___GFP_NO_OBJ_EXT) > > /** > * DOC: Watermark modifiers > diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h > index a6e5a44c9b429..c1a05ff0feab0 100644 > --- a/include/trace/events/mmflags.h > +++ b/include/trace/events/mmflags.h > @@ -54,18 +54,10 @@ > # define TRACE_GFP_FLAGS_LOCKDEP > #endif > > -#ifdef CONFIG_SLAB_OBJ_EXT > -# define TRACE_GFP_FLAGS_SLAB \ > - TRACE_GFP_EM(NO_OBJ_EXT) > -#else > -# define TRACE_GFP_FLAGS_SLAB > -#endif > - > #define TRACE_GFP_FLAGS \ > TRACE_GFP_FLAGS_GENERAL \ > TRACE_GFP_FLAGS_KASAN \ > - TRACE_GFP_FLAGS_LOCKDEP \ > - TRACE_GFP_FLAGS_SLAB > + TRACE_GFP_FLAGS_LOCKDEP > > #undef TRACE_GFP_EM > #define TRACE_GFP_EM(a) TRACE_DEFINE_ENUM(___GFP_##a##_BIT); > diff --git a/tools/include/linux/gfp_types.h b/tools/include/linux/gfp_types.h > index 6c75df30a281d..a93b8bd200b76 100644 > --- a/tools/include/linux/gfp_types.h > +++ b/tools/include/linux/gfp_types.h > @@ -55,7 +55,6 @@ enum { > #ifdef CONFIG_LOCKDEP > ___GFP_NOLOCKDEP_BIT, > #endif > - ___GFP_NO_OBJ_EXT_BIT, > ___GFP_LAST_BIT > }; > > @@ -96,7 +95,6 @@ enum { > #else > #define ___GFP_NOLOCKDEP 0 > #endif > -#define ___GFP_NO_OBJ_EXT BIT(___GFP_NO_OBJ_EXT_BIT) > > /* > * Physical address zone modifiers (see linux/mmzone.h - low four bits) > @@ -137,17 +135,12 @@ enum { > * node with no fallbacks or placement policy enforcements. > * > * %__GFP_ACCOUNT causes the allocation to be accounted to kmemcg. > - * > - * %__GFP_NO_OBJ_EXT causes slab allocation to have no object extension. > - * mark_obj_codetag_empty() should be called upon freeing for objects allocated > - * with this flag to indicate that their NULL tags are expected and normal. > */ > #define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) > #define __GFP_WRITE ((__force gfp_t)___GFP_WRITE) > #define __GFP_HARDWALL ((__force gfp_t)___GFP_HARDWALL) > #define __GFP_THISNODE ((__force gfp_t)___GFP_THISNODE) > #define __GFP_ACCOUNT ((__force gfp_t)___GFP_ACCOUNT) > -#define __GFP_NO_OBJ_EXT ((__force gfp_t)___GFP_NO_OBJ_EXT) > > /** > * DOC: Watermark modifiers >