Re: [PATCH] Do not pass the SLAB flags as GFP in slob kmem_cache_create

Cyrill Gorcunov
2008-12-10T19:34:33Z

[Catalin Marinas - Wed, Dec 10, 2008 at 05:36:33PM +0000]
| It looks like the kmem_cache_create() function in the slob allocator
| passes the SLAB flags as GFP flags to the slob_alloc() function. The
| patch changes this call to pass GFP_KERNEL as the other allocators seem
| to do.
|
| Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
| Cc: Matt Mackall <mpm@selenic.com>
| ---
| mm/slob.c | 2 +-
| 1 files changed, 1 insertions(+), 1 deletions(-)
|
| diff --git a/mm/slob.c b/mm/slob.c
| index ff5a98d..dce9258 100644
| --- a/mm/slob.c
| +++ b/mm/slob.c
| @@ -538,7 +538,7 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size,
| struct kmem_cache *c;
|
| c = slob_alloc(sizeof(struct kmem_cache),
| - flags, ARCH_KMALLOC_MINALIGN, -1);
| + GFP_KERNEL, ARCH_KMALLOC_MINALIGN, -1);
|
| if (c) {
| c->name = name;
|

Hi Catalin,

this would make the following line in slob_alloc

...
if (unlikely((gfp & __GFP_ZERO) && b))
memset(b, 0, size);
...

useless. Not sure if it will be good :)

---
Some CC: added

- Cyrill -