Messages in this thread | | | Date | Fri, 27 Nov 2015 11:05:10 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH v2 3/3] zram: pass gfp from zcomp frontend to backend |
| |
Hello,
Minchan Kim wrote: [..] > +static struct zcomp_strm *zcomp_strm_alloc(struct zcomp *comp, gfp_t flags) > { > + zstrm = zcomp_strm_alloc(comp, GFP_NOIO|__GFP_NORETRY| > + __GFP_NOWARN|__GFP_NOMEMALLOC);
and it seems that after 3/3 (v2) we also lost GFP_ZERO for private allocation. kzalloc->kmalloc, and no explicit __GFP_ZERO for __vmalloc().
> - ret = kzalloc(LZ4_MEM_COMPRESS, GFP_NOIO|__GFP_NORETRY| > - __GFP_NOWARN|__GFP_NOMEMALLOC); > + ret = kmalloc(LZ4_MEM_COMPRESS, flags); ^^^ here > if (!ret) > - ret = __vmalloc(LZ4_MEM_COMPRESS, GFP_NOIO|__GFP_NORETRY| > - __GFP_NOWARN|__GFP_NOMEMALLOC| > - __GFP_ZERO, > - PAGE_KERNEL); > + ret = __vmalloc(LZ4_MEM_COMPRESS, flags, PAGE_KERNEL); ^^^ here
> - ret = kzalloc(LZO1X_MEM_COMPRESS, GFP_NOIO|__GFP_NORETRY| > - __GFP_NOWARN|__GFP_NOMEMALLOC); > + > + ret = kmalloc(LZO1X_MEM_COMPRESS, flags); ^^^ ditto > if (!ret) > - ret = __vmalloc(LZO1X_MEM_COMPRESS, GFP_NOIO|__GFP_NORETRY| > - __GFP_NOWARN|__GFP_NOMEMALLOC| > - __GFP_ZERO, > - PAGE_KERNEL); > + ret = __vmalloc(LZO1X_MEM_COMPRESS, flags, PAGE_KERNEL); ^^^ ditto
so lz*_create() should look like
---
static void *lzo_create(gfp_t flags) { void *ret;
ret = kzalloc(LZO1X_MEM_COMPRESS, flags); if (!ret) ret = __vmalloc(LZO1X_MEM_COMPRESS, flags | __GFP_ZERO | __GFP_HIGHMEM, PAGE_KERNEL); return ret; }
---
I have a patchset with my nitpicks addressed and fix-ups for missing gfps. Do you mind me to send it out?
-ss
| |