[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160417150804.GA575@swordfish>
Date: Mon, 18 Apr 2016 00:08:04 +0900
From: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
To: Minchan Kim <minchan@...nel.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
jlayton@...chiereds.net, bfields@...ldses.org,
Vlastimil Babka <vbabka@...e.cz>,
Joonsoo Kim <iamjoonsoo.kim@....com>, koct9i@...il.com,
aquini@...hat.com, virtualization@...ts.linux-foundation.org,
Mel Gorman <mgorman@...e.de>, Hugh Dickins <hughd@...gle.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Rik van Riel <riel@...hat.com>, rknize@...orola.com,
Gioh Kim <gi-oh.kim@...fitbricks.com>,
Sangseok Lee <sangseok.lee@....com>,
Chan Gyun Jeong <chan.jeong@....com>,
Al Viro <viro@...IV.linux.org.uk>,
YiPing Xu <xuyiping@...ilicon.com>
Subject: Re: [PATCH v3 06/16] zsmalloc: squeeze inuse into page->mapping
Hello,
On (03/30/16 16:12), Minchan Kim wrote:
[..]
> +static int get_zspage_inuse(struct page *first_page)
> +{
> + struct zs_meta *m;
> +
> + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> +
> + m = (struct zs_meta *)&first_page->mapping;
..
> +static void set_zspage_inuse(struct page *first_page, int val)
> +{
> + struct zs_meta *m;
> +
> + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> +
> + m = (struct zs_meta *)&first_page->mapping;
..
> +static void mod_zspage_inuse(struct page *first_page, int val)
> +{
> + struct zs_meta *m;
> +
> + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> +
> + m = (struct zs_meta *)&first_page->mapping;
..
> static void get_zspage_mapping(struct page *first_page,
> unsigned int *class_idx,
> enum fullness_group *fullness)
> {
> - unsigned long m;
> + struct zs_meta *m;
> +
> VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> + m = (struct zs_meta *)&first_page->mapping;
..
> static void set_zspage_mapping(struct page *first_page,
> unsigned int class_idx,
> enum fullness_group fullness)
> {
> + struct zs_meta *m;
> +
> VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
>
> + m = (struct zs_meta *)&first_page->mapping;
> + m->fullness = fullness;
> + m->class = class_idx;
> }
a nitpick: this
struct zs_meta *m;
VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
m = (struct zs_meta *)&first_page->mapping;
seems to be common in several places, may be it makes sense to
factor it out and turn into a macro or a static inline helper?
other than that, looks good to me
Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
-ss
Powered by blists - more mailing lists