[PATCH 1/5] staging: zsmalloc: zsmalloc memory allocation library

Andrew Morton akpm at linux-foundation.org
Mon Jan 23 19:40:25 UTC 2012

On Mon, 23 Jan 2012 13:57:36 -0500
Nitin Gupta <ngupta at vflare.org> wrote:

> > afacit this code should be added to core mm/.  Addition of code like
> > this to core mm/ will be fiercely resisted on principle!  Hence the
> > (currently missing) justifications for adding it had best be good ones.
> > 
> I don't think this code should ever get into mm/ since its just a driver
> specific allocator.

Like mm/mempool.c and mm/dmapool.c ;)

> However its used by more than one driver (zcache and
> zram) so it may be moved to lib/ or drivers/zsmalloc atmost?

I'd need to take another look at the code, but if the allocator is a
good and useful thing then we want other kernel code to use it where
possible and appropriate. Putting it in mm/ or lib/ says "hey, use this".

The code is extensively poking around in MM internals, especially the
pageframe fields.  So I'd say it's a part of MM (in mm/) rather than a
clean client of MM, which would place it in lib/.

btw, kmap_atomic() already returns void*, so casting its return value
is unneeded.

More information about the devel mailing list