[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160315064126.GA2808@bbox>
Date: Tue, 15 Mar 2016 15:41:26 +0900
From: Minchan Kim <minchan@...nel.org>
To: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
CC: Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.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>,
rknize@...orola.com, Rik van Riel <riel@...hat.com>,
Gioh Kim <gurugio@...mail.net>
Subject: Re: [PATCH v1 09/19] zsmalloc: keep max_object in size_class
On Tue, Mar 15, 2016 at 03:28:24PM +0900, Sergey Senozhatsky wrote:
> On (03/11/16 16:30), Minchan Kim wrote:
> > Every zspage in a size_class has same number of max objects so
> > we could move it to a size_class.
> >
> > Signed-off-by: Minchan Kim <minchan@...nel.org>
> > ---
> > mm/zsmalloc.c | 29 ++++++++++++++---------------
> > 1 file changed, 14 insertions(+), 15 deletions(-)
> >
> > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
> > index b4fb11831acb..ca663c82c1fc 100644
> > --- a/mm/zsmalloc.c
> > +++ b/mm/zsmalloc.c
> > @@ -32,8 +32,6 @@
> > * page->freelist: points to the first free object in zspage.
> > * Free objects are linked together using in-place
> > * metadata.
> > - * page->objects: maximum number of objects we can store in this
> > - * zspage (class->zspage_order * PAGE_SIZE / class->size)
> > * page->lru: links together first pages of various zspages.
> > * Basically forming list of zspages in a fullness group.
> > * page->mapping: class index and fullness group of the zspage
> > @@ -211,6 +209,7 @@ struct size_class {
> > * of ZS_ALIGN.
> > */
> > int size;
> > + int objs_per_zspage;
> > unsigned int index;
>
> struct page ->objects "comes for free". now we don't use it, instead
> every size_class grows by 4 bytes? is there any reason for this?
It is union with _mapcount and it is used by checking non-lru movable
page in this patchset.
>
> -ss
Powered by blists - more mailing lists