search for: size_class

Displaying 20 results from an estimated 52 matches for "size_class".

2016 Mar 12
1
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
On 2016/3/11 15: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 at kernel.org> > --- > mm/zsmalloc.c | 29 ++++++++++++++--------------- > 1 file changed, 14 insertions(+), 15 deletions(-) > > diff --git a/mm/zsmalloc.c...
2016 Mar 12
1
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
On 2016/3/11 15: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 at kernel.org> > --- > mm/zsmalloc.c | 29 ++++++++++++++--------------- > 1 file changed, 14 insertions(+), 15 deletions(-) > > diff --git a/mm/zsmalloc.c...
2016 Mar 11
0
[PATCH v1 07/19] zsmalloc: reordering function parameter
...ar *name) { return 0; } @@ -650,8 +650,9 @@ static enum fullness_group get_fullness_group(struct page *first_page) * have. This functions inserts the given zspage into the freelist * identified by <class, fullness_group>. */ -static void insert_zspage(struct page *first_page, struct size_class *class, - enum fullness_group fullness) +static void insert_zspage(struct size_class *class, + enum fullness_group fullness, + struct page *first_page) { struct page **head; @@ -682,8 +683,9 @@ static void insert_zspage(struct page *first_page, struct size_class *class, * This funct...
2016 Mar 30
0
[PATCH v3 05/16] zsmalloc: keep max_object in size_class
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 at kernel.org> --- mm/zsmalloc.c | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index a0890e9003e2..8...
2016 Mar 15
1
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
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 at kernel.org> > --- > mm/zsmalloc.c | 29 ++++++++++++++--------------- > 1 file changed, 14 insertions(+), 15 deletions(-) > > diff --git a/mm/zsmalloc.c...
2016 Mar 15
1
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
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 at kernel.org> > --- > mm/zsmalloc.c | 29 ++++++++++++++--------------- > 1 file changed, 14 insertions(+), 15 deletions(-) > > diff --git a/mm/zsmalloc.c...
2016 Mar 11
0
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
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 at kernel.org> --- mm/zsmalloc.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index b4fb11831acb..ca66...
2016 Mar 14
0
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
On Sat, Mar 12, 2016 at 09:44:48AM +0800, xuyiping wrote: > > > On 2016/3/11 15: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 at kernel.org> > >--- > > mm/zsmalloc.c | 29 ++++++++++++++--------------- > > 1 file changed, 14 insertions(+), 15 deletions(-) > > &g...
2016 Mar 11
31
[PATCH v1 00/19] Support non-lru page migration
...memory-ballooning mm/balloon: use general movable page feature into balloon 3. rework zsmalloc zsmalloc: use first_page rather than page zsmalloc: clean up many BUG_ON zsmalloc: reordering function parameter zsmalloc: remove unused pool param in obj_free zsmalloc: keep max_object in size_class zsmalloc: squeeze inuse into page->mapping zsmalloc: squeeze freelist into page->mapping zsmalloc: move struct zs_meta from mapping to freelist zsmalloc: factor page chain functionality out zsmalloc: separate free_zspage from putback_zspage zsmalloc: zs_compact refactoring zsmal...
2016 Mar 11
31
[PATCH v1 00/19] Support non-lru page migration
...memory-ballooning mm/balloon: use general movable page feature into balloon 3. rework zsmalloc zsmalloc: use first_page rather than page zsmalloc: clean up many BUG_ON zsmalloc: reordering function parameter zsmalloc: remove unused pool param in obj_free zsmalloc: keep max_object in size_class zsmalloc: squeeze inuse into page->mapping zsmalloc: squeeze freelist into page->mapping zsmalloc: move struct zs_meta from mapping to freelist zsmalloc: factor page chain functionality out zsmalloc: separate free_zspage from putback_zspage zsmalloc: zs_compact refactoring zsmal...
2016 Mar 15
0
[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 at kernel.org> > > --- > > mm/zsmalloc.c | 29 ++++++++++++++--------------- > > 1 file changed, 14 insertions(+), 15 deletions(-) > &gt...
2016 Mar 21
22
[PATCH v2 00/18] Support non-lru page migration
...put_page to free page instead of putback_lru_page 2. zsmalloc clean-up for preparing page migration zsmalloc: use first_page rather than page zsmalloc: clean up many BUG_ON zsmalloc: reordering function parameter zsmalloc: remove unused pool param in obj_free zsmalloc: keep max_object in size_class zsmalloc: squeeze inuse into page->mapping zsmalloc: squeeze freelist into page->mapping zsmalloc: move struct zs_meta from mapping to freelist zsmalloc: factor page chain functionality out zsmalloc: separate free_zspage from putback_zspage zsmalloc: zs_compact refactoring 3. add...
2016 Mar 21
22
[PATCH v2 00/18] Support non-lru page migration
...put_page to free page instead of putback_lru_page 2. zsmalloc clean-up for preparing page migration zsmalloc: use first_page rather than page zsmalloc: clean up many BUG_ON zsmalloc: reordering function parameter zsmalloc: remove unused pool param in obj_free zsmalloc: keep max_object in size_class zsmalloc: squeeze inuse into page->mapping zsmalloc: squeeze freelist into page->mapping zsmalloc: move struct zs_meta from mapping to freelist zsmalloc: factor page chain functionality out zsmalloc: separate free_zspage from putback_zspage zsmalloc: zs_compact refactoring 3. add...
2016 Mar 30
0
[PATCH v3 08/16] zsmalloc: squeeze freelist into page->mapping
...age. + * starting in this page. * page->lru: links together all component pages (except the first page) * of a zspage * @@ -29,9 +27,6 @@ * page->private: refers to the component page after the first page * If the page is first_page for huge object, it stores handle. * Look at size_class->huge. - * page->freelist: points to the first free object in zspage. - * Free objects are linked together using in-place - * metadata. * page->lru: links together first pages of various zspages. * Basically forming list of zspages in a fullness group. * page->mapping: override...
2016 Mar 11
0
[PATCH v1 11/19] zsmalloc: squeeze freelist into page->mapping
...age. + * starting in this page. * page->lru: links together all component pages (except the first page) * of a zspage * @@ -29,9 +27,6 @@ * page->private: refers to the component page after the first page * If the page is first_page for huge object, it stores handle. * Look at size_class->huge. - * page->freelist: points to the first free object in zspage. - * Free objects are linked together using in-place - * metadata. * page->lru: links together first pages of various zspages. * Basically forming list of zspages in a fullness group. * page->mapping: override...
2016 Mar 11
0
[PATCH v1 05/19] zsmalloc: use first_page rather than page
...if (inuse == 0) fg = ZS_EMPTY; @@ -647,12 +649,12 @@ static enum fullness_group get_fullness_group(struct page *page) * have. This functions inserts the given zspage into the freelist * identified by <class, fullness_group>. */ -static void insert_zspage(struct page *page, struct size_class *class, +static void insert_zspage(struct page *first_page, struct size_class *class, enum fullness_group fullness) { struct page **head; - BUG_ON(!is_first_page(page)); + BUG_ON(!is_first_page(first_page)); if (fullness >= _ZS_NR_FULLNESS_GROUPS) return; @@ -662,7 +664,7 @@ sta...
2016 Mar 12
1
[PATCH v1 13/19] zsmalloc: factor page chain functionality out
...+++++++++++++------------------------- > 1 file changed, 45 insertions(+), 33 deletions(-) > > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index bfc6a048afac..f86f8aaeb902 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -977,7 +977,9 @@ static void init_zspage(struct size_class *class, struct page *first_page) > unsigned long off = 0; > struct page *page = first_page; > > - VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); > + first_page->freelist = NULL; > + INIT_LIST_HEAD(&first_page->lru); > + set_zspage_inuse(first_page, 0);...
2016 Mar 12
1
[PATCH v1 13/19] zsmalloc: factor page chain functionality out
...+++++++++++++------------------------- > 1 file changed, 45 insertions(+), 33 deletions(-) > > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index bfc6a048afac..f86f8aaeb902 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -977,7 +977,9 @@ static void init_zspage(struct size_class *class, struct page *first_page) > unsigned long off = 0; > struct page *page = first_page; > > - VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); > + first_page->freelist = NULL; > + INIT_LIST_HEAD(&first_page->lru); > + set_zspage_inuse(first_page, 0);...
2016 Mar 21
0
[PATCH v2 17/18] zsmalloc: migrate tail pages in zspage
...r = get_next_page(cursor)) { + VM_BUG_ON_PAGE(!PageLocked(cursor), cursor); + if (cursor != locked_page) + unlock_page(cursor); + }; +} + static void free_zspage(struct zs_pool *pool, struct page *first_page) { struct page *nextp, *tmp; @@ -1090,16 +1141,17 @@ static void init_zspage(struct size_class *class, struct page *first_page, first_page->freelist = NULL; INIT_LIST_HEAD(&first_page->lru); set_zspage_inuse(first_page, 0); - BUG_ON(!trylock_page(first_page)); - first_page->mapping = mapping; - __SetPageMovable(first_page); - unlock_page(first_page); while (page) {...
2016 Mar 11
0
[PATCH v1 06/19] zsmalloc: clean up many BUG_ON
...int inuse, max_objects; enum fullness_group fg; - BUG_ON(!is_first_page(first_page)); + + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); inuse = first_page->inuse; max_objects = first_page->objects; @@ -654,7 +655,7 @@ static void insert_zspage(struct page *first_page, struct size_class *class, { struct page **head; - BUG_ON(!is_first_page(first_page)); + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); if (fullness >= _ZS_NR_FULLNESS_GROUPS) return; @@ -686,13 +687,13 @@ static void remove_zspage(struct page *first_page, struct size_class *class, { struct...