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@xxxxxxxxxx> > > --- > > 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 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization