search for: zspage_full

Displaying 14 results from an estimated 14 matches for "zspage_full".

2016 Mar 12
1
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
...t_page->objects = class->pages_per_zspage * PAGE_SIZE / class->size; > - > error = 0; /* Success */ > > cleanup: > @@ -1235,11 +1232,11 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage) > return true; > } > > -static bool zspage_full(struct page *first_page) > +static bool zspage_full(struct size_class *class, struct page *first_page) > { > VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); > > - return first_page->inuse == first_page->objects; > + return first_page->inuse == class->objs_...
2016 Mar 12
1
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
...t_page->objects = class->pages_per_zspage * PAGE_SIZE / class->size; > - > error = 0; /* Success */ > > cleanup: > @@ -1235,11 +1232,11 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage) > return true; > } > > -static bool zspage_full(struct page *first_page) > +static bool zspage_full(struct size_class *class, struct page *first_page) > { > VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); > > - return first_page->inuse == first_page->objects; > + return first_page->inuse == class->objs_...
2016 Mar 11
0
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
...objects we can store in this zspage */ - first_page->objects = class->pages_per_zspage * PAGE_SIZE / class->size; - error = 0; /* Success */ cleanup: @@ -1235,11 +1232,11 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage) return true; } -static bool zspage_full(struct page *first_page) +static bool zspage_full(struct size_class *class, struct page *first_page) { VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); - return first_page->inuse == first_page->objects; + return first_page->inuse == class->objs_per_zspage; } unsigned lon...
2016 Mar 30
0
[PATCH v3 05/16] zsmalloc: keep max_object in size_class
...objects we can store in this zspage */ - first_page->objects = class->pages_per_zspage * PAGE_SIZE / class->size; - error = 0; /* Success */ cleanup: @@ -1238,11 +1235,11 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage) return true; } -static bool zspage_full(struct page *first_page) +static bool zspage_full(struct size_class *class, struct page *first_page) { VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); - return first_page->inuse == first_page->objects; + return first_page->inuse == class->objs_per_zspage; } unsigned lon...
2016 Mar 14
0
[PATCH v1 09/19] zsmalloc: keep max_object in size_class
...er_zspage * PAGE_SIZE / class->size; > >- > > error = 0; /* Success */ > > > > cleanup: > >@@ -1235,11 +1232,11 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage) > > return true; > > } > > > >-static bool zspage_full(struct page *first_page) > >+static bool zspage_full(struct size_class *class, struct page *first_page) > > { > > VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); > > > >- return first_page->inuse == first_page->objects; > >+ return first_page-&gt...
2016 Mar 11
0
[PATCH v1 05/19] zsmalloc: use first_page rather than page
...+ remove_zspage(first_page, class, currfg); + insert_zspage(first_page, class, newfg); + set_zspage_mapping(first_page, class_idx, newfg); out: return newfg; @@ -1231,11 +1233,11 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage) return true; } -static bool zspage_full(struct page *page) +static bool zspage_full(struct page *first_page) { - BUG_ON(!is_first_page(page)); + BUG_ON(!is_first_page(first_page)); - return page->inuse == page->objects; + return first_page->inuse == first_page->objects; } unsigned long zs_get_total_pages(struct zs_pool...
2016 Mar 11
31
[PATCH v1 00/19] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 11
31
[PATCH v1 00/19] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 11
0
[PATCH v1 06/19] zsmalloc: clean up many BUG_ON
...first_page; - BUG_ON(!is_first_page(first_page)); + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); + while (page) { struct page *next_page; struct link_free *link; @@ -1235,7 +1235,7 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage) static bool zspage_full(struct page *first_page) { - BUG_ON(!is_first_page(first_page)); + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); return first_page->inuse == first_page->objects; } @@ -1273,14 +1273,12 @@ void *zs_map_object(struct zs_pool *pool, unsigned long handle, struct page *pages[2];...
2016 Mar 21
22
[PATCH v2 00/18] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 21
22
[PATCH v2 00/18] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 30
0
[PATCH v3 06/16] zsmalloc: squeeze inuse into page->mapping
...t_page_private(page, 0); first_page = page; - first_page->inuse = 0; + set_zspage_inuse(page, 0); } if (i == 1) set_page_private(first_page, (unsigned long)page); @@ -1237,9 +1271,7 @@ static bool can_merge(struct size_class *prev, int size, int pages_per_zspage) static bool zspage_full(struct size_class *class, struct page *first_page) { - VM_BUG_ON_PAGE(!is_first_page(first_page), first_page); - - return first_page->inuse == class->objs_per_zspage; + return get_zspage_inuse(first_page) == class->objs_per_zspage; } unsigned long zs_get_total_pages(struct zs_pool *po...
2016 Mar 30
33
[PATCH v3 00/16] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.
2016 Mar 30
33
[PATCH v3 00/16] Support non-lru page migration
Recently, I got many reports about perfermance degradation in embedded system(Android mobile phone, webOS TV and so on) and failed to fork easily. The problem was fragmentation caused by zram and GPU driver pages. Their pages cannot be migrated so compaction cannot work well, either so reclaimer ends up shrinking all of working set pages. It made system very slow and even to fail to fork easily.