[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160419074059.GA18448@bbox>
Date: Tue, 19 Apr 2016 16:40:59 +0900
From: Minchan Kim <minchan@...nel.org>
To: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
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>,
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
On Mon, Apr 18, 2016 at 12:08:04AM +0900, Sergey Senozhatsky wrote:
> 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
Yeb.
>
> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
Thanks for the review!
Powered by blists - more mailing lists