On Wed, Feb 14, 2024 at 2:22 PM Dave Chinner <david@xxxxxxxxxxxxx> wrote: > > On Mon, Feb 12, 2024 at 01:39:11PM -0800, Suren Baghdasaryan wrote: > > From: Kent Overstreet <kent.overstreet@xxxxxxxxx> > > > > This adds an alloc_hooks() wrapper around kmem_alloc(), so that we can > > have allocations accounted to the proper callsite. > > > > Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> > > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx> > > --- > > fs/xfs/kmem.c | 4 ++-- > > fs/xfs/kmem.h | 10 ++++------ > > 2 files changed, 6 insertions(+), 8 deletions(-) > > > > diff --git a/fs/xfs/kmem.c b/fs/xfs/kmem.c > > index c557a030acfe..9aa57a4e2478 100644 > > --- a/fs/xfs/kmem.c > > +++ b/fs/xfs/kmem.c > > @@ -8,7 +8,7 @@ > > #include "xfs_trace.h" > > > > void * > > -kmem_alloc(size_t size, xfs_km_flags_t flags) > > +kmem_alloc_noprof(size_t size, xfs_km_flags_t flags) > > { > > int retries = 0; > > gfp_t lflags = kmem_flags_convert(flags); > > @@ -17,7 +17,7 @@ kmem_alloc(size_t size, xfs_km_flags_t flags) > > trace_kmem_alloc(size, flags, _RET_IP_); > > > > do { > > - ptr = kmalloc(size, lflags); > > + ptr = kmalloc_noprof(size, lflags); > > if (ptr || (flags & KM_MAYFAIL)) > > return ptr; > > if (!(++retries % 100)) > > diff --git a/fs/xfs/kmem.h b/fs/xfs/kmem.h > > index b987dc2c6851..c4cf1dc2a7af 100644 > > --- a/fs/xfs/kmem.h > > +++ b/fs/xfs/kmem.h > > @@ -6,6 +6,7 @@ > > #ifndef __XFS_SUPPORT_KMEM_H__ > > #define __XFS_SUPPORT_KMEM_H__ > > > > +#include <linux/alloc_tag.h> > > #include <linux/slab.h> > > #include <linux/sched.h> > > #include <linux/mm.h> > > @@ -56,18 +57,15 @@ kmem_flags_convert(xfs_km_flags_t flags) > > return lflags; > > } > > > > -extern void *kmem_alloc(size_t, xfs_km_flags_t); > > static inline void kmem_free(const void *ptr) > > { > > kvfree(ptr); > > } > > > > +extern void *kmem_alloc_noprof(size_t, xfs_km_flags_t); > > +#define kmem_alloc(...) alloc_hooks(kmem_alloc_noprof(__VA_ARGS__)) > > > > -static inline void * > > -kmem_zalloc(size_t size, xfs_km_flags_t flags) > > -{ > > - return kmem_alloc(size, flags | KM_ZERO); > > -} > > +#define kmem_zalloc(_size, _flags) kmem_alloc((_size), (_flags) | KM_ZERO) > > > > /* > > * Zone interfaces > > -- > > 2.43.0.687.g38aa6559b0-goog > > These changes can be dropped - the fs/xfs/kmem.[ch] stuff is now > gone in linux-xfs/for-next. Thanks for the note. Will drop in the next submission. > > -Dave. > -- > Dave Chinner > david@xxxxxxxxxxxxx