lkml.org 
[lkml]   [2015]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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


\
 
 \ /
  Last update: 2015-11-27 03:21    [W:0.275 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site