Re: [PATCH 01/16] tools: Move gfp.h and slab.h from radix-tree to lib

From: Karolina Drobnik
Date: Fri Jan 28 2022 - 06:02:19 EST


On Thu, 2022-01-27 at 13:36 +0000, Matthew Wilcox wrote:
> On Thu, Jan 27, 2022 at 02:21:19PM +0100, Karolina Drobnik wrote:
> > diff --git a/tools/testing/radix-tree/linux.c
> > b/tools/testing/radix-tree/linux.c
> > index 2d9c59df60de..81539f543954 100644
> > --- a/tools/testing/radix-tree/linux.c
> > +++ b/tools/testing/radix-tree/linux.c
> > @@ -14,7 +14,6 @@
> >  
> >  int nr_allocated;
> >  int preempt_count;
> > -int kmalloc_verbose;
> >  int test_verbose;
> >  
> >  struct kmem_cache {
> > @@ -78,32 +77,6 @@ void kmem_cache_free(struct kmem_cache *cachep,
> > void *objp)
> >         pthread_mutex_unlock(&cachep->lock);
> >  }
> >  
> > -void *kmalloc(size_t size, gfp_t gfp)
> > -{
> > -       void *ret;
> > -
> > -       if (!(gfp & __GFP_DIRECT_RECLAIM))
> > -               return NULL;
> > -
> > -       ret = malloc(size);
> > -       uatomic_inc(&nr_allocated);
> > -       if (kmalloc_verbose)
> > -               printf("Allocating %p from malloc\n", ret);
> > -       if (gfp & __GFP_ZERO)
> > -               memset(ret, 0, size);
> > -       return ret;
> > -}
> > -
> > -void kfree(void *p)
> > -{
> > -       if (!p)
> > -               return;
> > -       uatomic_dec(&nr_allocated);
> > -       if (kmalloc_verbose)
> > -               printf("Freeing %p to malloc\n", p);
> > -       free(p);
> > -}
> > -
> >  struct kmem_cache *
> >  kmem_cache_create(const char *name, unsigned int size, unsigned
> > int align,
> >                 unsigned int flags, void (*ctor)(void *))
>
> I don't think it makes much sense to move kmalloc() and not to move
> the kmem_cache* functions.  They're all provided by slab in the
> kernel
> proper, so while you don't use them, I think keeping all the memory
> allocation functions together is preferable.

I wasn't sure if these functions would be used by other test suites, so
I left them here. But I can move them if you think it's better to keep
them together.