search for: zspage

Displaying 20 results from an estimated 37 matches for "zspage".

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...
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...
2016 Mar 21
0
[PATCH v2 17/18] zsmalloc: migrate tail pages in zspage
This patch enables tail page migration of zspage. In this point, I tested zsmalloc regression with micro-benchmark which does zs_malloc/map/unmap/zs_free for all size class in every CPU(my system is 12) during 20 sec. It shows 1% regression which is really small when we consider the benefit of this feature and realworkload overhead(i.e., most o...
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...
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...
2016 Mar 21
2
[PATCH v2 17/18] zsmalloc: migrate tail pages in zspage
Hi Minchan, [auto build test WARNING on next-20160318] [cannot apply to v4.5-rc7 v4.5-rc6 v4.5-rc5 v4.5] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Minchan-Kim/Support-non-lru-page-migration/20160321-143339 coccinelle warnings: (new ones prefixed by >>) >>
2016 Mar 21
2
[PATCH v2 17/18] zsmalloc: migrate tail pages in zspage
Hi Minchan, [auto build test WARNING on next-20160318] [cannot apply to v4.5-rc7 v4.5-rc6 v4.5-rc5 v4.5] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Minchan-Kim/Support-non-lru-page-migration/20160321-143339 coccinelle warnings: (new ones prefixed by >>) >>
2016 Mar 30
0
[PATCH v3 08/16] zsmalloc: squeeze freelist into page->mapping
Zsmalloc stores first free object's position into first_page->freelist in each zspage. If we change it with object index from first_page instead of location, we could squeeze it into page->mapping because the number of bit we need to store offset is at most 11bit. Signed-off-by: Minchan Kim <minchan at kernel.org> --- mm/zsmalloc.c | 158 ++++++++++++++++++++++++++++++++++...
2016 Mar 11
0
[PATCH v1 11/19] zsmalloc: squeeze freelist into page->mapping
Zsmalloc stores first free object's position into first_page->freelist in each zspage. If we change it with object index from first_page instead of location, we could squeeze it into page->mapping because the number of bit we need to store offset is at most 11bit. Signed-off-by: Minchan Kim <minchan at kernel.org> --- mm/zsmalloc.c | 159 ++++++++++++++++++++++++++++++++++...
2016 Mar 11
31
[PATCH v1 00/19] Support non-lru page migration
...used 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 zsmalloc: migrate head page of zspage zsmalloc: use single linked list for page chain zsmalloc: migrate tail pages in zspage zram: use __GFP_MOVABLE for memory allocation Gioh Kim (1): fs/anon_inodes: new interface to create new inod...
2016 Mar 11
31
[PATCH v1 00/19] Support non-lru page migration
...used 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 zsmalloc: migrate head page of zspage zsmalloc: use single linked list for page chain zsmalloc: migrate tail pages in zspage zram: use __GFP_MOVABLE for memory allocation Gioh Kim (1): fs/anon_inodes: new interface to create new inod...
2016 Mar 21
22
[PATCH v2 00/18] Support non-lru page migration
...used 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 non-lru page migration feature mm/compaction: support non-lru movable page migration 4. rework KVM memory-ballooning mm/balloon: use general movable page feature into balloon 5. add zsmalloc page migration zsmalloc: migrate head...
2016 Mar 21
22
[PATCH v2 00/18] Support non-lru page migration
...used 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 non-lru page migration feature mm/compaction: support non-lru movable page migration 4. rework KVM memory-ballooning mm/balloon: use general movable page feature into balloon 5. add zsmalloc page migration zsmalloc: migrate head...
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 b4...
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...
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...
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 delet...
2016 Mar 30
33
[PATCH v3 00/16] Support non-lru page migration
...keep max_object in size_class zsmalloc: squeeze inuse into page->mapping zsmalloc: remove page_mapcount_reset 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 5. add zsmalloc page migration zsmalloc: migrate head page of zspage zsmalloc: use single linked list for page chain zsmalloc: migrate tail pages in zspage zram: use __GFP_MOVABLE for memory allocation * From v2 * rebase on mmotm-20...
2016 Mar 30
33
[PATCH v3 00/16] Support non-lru page migration
...keep max_object in size_class zsmalloc: squeeze inuse into page->mapping zsmalloc: remove page_mapcount_reset 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 5. add zsmalloc page migration zsmalloc: migrate head page of zspage zsmalloc: use single linked list for page chain zsmalloc: migrate tail pages in zspage zram: use __GFP_MOVABLE for memory allocation * From v2 * rebase on mmotm-20...
2016 Mar 30
0
[PATCH v3 06/16] zsmalloc: squeeze inuse into page->mapping
Currently, we store class:fullness into page->mapping. The number of class we can support is 255 and fullness is 4 so (8 + 2 = 10bit) is enough to represent them. Meanwhile, the bits we need to store in-use objects in zspage is that 11bit is enough. For example, If we assume that 64K PAGE_SIZE, class_size 32 which is worst case, class->pages_per_zspage become 1 so the number of objects in zspage is 2048 so 11bit is enough. The next class is 32 + 256(i.e., ZS_SIZE_CLASS_DELTA). With worst case that ZS_MAX_PAGES_PER_...