提交 251cbb95 编写于 作者: M Minchan Kim 提交者: Linus Torvalds

zsmalloc: reorder function parameters

Clean up function parameter ordering to order higher data structure
first.
Signed-off-by: NMinchan Kim <minchan@kernel.org>
Reviewed-by: NSergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 830e4bc5
...@@ -569,7 +569,7 @@ static const struct file_operations zs_stat_size_ops = { ...@@ -569,7 +569,7 @@ static const struct file_operations zs_stat_size_ops = {
.release = single_release, .release = single_release,
}; };
static int zs_pool_stat_create(const char *name, struct zs_pool *pool) static int zs_pool_stat_create(struct zs_pool *pool, const char *name)
{ {
struct dentry *entry; struct dentry *entry;
...@@ -609,7 +609,7 @@ static void __exit zs_stat_exit(void) ...@@ -609,7 +609,7 @@ static void __exit zs_stat_exit(void)
{ {
} }
static inline int zs_pool_stat_create(const char *name, struct zs_pool *pool) static inline int zs_pool_stat_create(struct zs_pool *pool, const char *name)
{ {
return 0; return 0;
} }
...@@ -655,8 +655,9 @@ static enum fullness_group get_fullness_group(struct page *first_page) ...@@ -655,8 +655,9 @@ static enum fullness_group get_fullness_group(struct page *first_page)
* have. This functions inserts the given zspage into the freelist * have. This functions inserts the given zspage into the freelist
* identified by <class, fullness_group>. * identified by <class, fullness_group>.
*/ */
static void insert_zspage(struct page *first_page, struct size_class *class, static void insert_zspage(struct size_class *class,
enum fullness_group fullness) enum fullness_group fullness,
struct page *first_page)
{ {
struct page **head; struct page **head;
...@@ -687,8 +688,9 @@ static void insert_zspage(struct page *first_page, struct size_class *class, ...@@ -687,8 +688,9 @@ static void insert_zspage(struct page *first_page, struct size_class *class,
* This function removes the given zspage from the freelist identified * This function removes the given zspage from the freelist identified
* by <class, fullness_group>. * by <class, fullness_group>.
*/ */
static void remove_zspage(struct page *first_page, struct size_class *class, static void remove_zspage(struct size_class *class,
enum fullness_group fullness) enum fullness_group fullness,
struct page *first_page)
{ {
struct page **head; struct page **head;
...@@ -730,8 +732,8 @@ static enum fullness_group fix_fullness_group(struct size_class *class, ...@@ -730,8 +732,8 @@ static enum fullness_group fix_fullness_group(struct size_class *class,
if (newfg == currfg) if (newfg == currfg)
goto out; goto out;
remove_zspage(first_page, class, currfg); remove_zspage(class, currfg, first_page);
insert_zspage(first_page, class, newfg); insert_zspage(class, newfg, first_page);
set_zspage_mapping(first_page, class_idx, newfg); set_zspage_mapping(first_page, class_idx, newfg);
out: out:
...@@ -915,7 +917,7 @@ static void free_zspage(struct page *first_page) ...@@ -915,7 +917,7 @@ static void free_zspage(struct page *first_page)
} }
/* Initialize a newly allocated zspage */ /* Initialize a newly allocated zspage */
static void init_zspage(struct page *first_page, struct size_class *class) static void init_zspage(struct size_class *class, struct page *first_page)
{ {
unsigned long off = 0; unsigned long off = 0;
struct page *page = first_page; struct page *page = first_page;
...@@ -1003,7 +1005,7 @@ static struct page *alloc_zspage(struct size_class *class, gfp_t flags) ...@@ -1003,7 +1005,7 @@ static struct page *alloc_zspage(struct size_class *class, gfp_t flags)
prev_page = page; prev_page = page;
} }
init_zspage(first_page, class); init_zspage(class, first_page);
first_page->freelist = location_to_obj(first_page, 0); first_page->freelist = location_to_obj(first_page, 0);
/* Maximum number of objects we can store in this zspage */ /* Maximum number of objects we can store in this zspage */
...@@ -1348,8 +1350,8 @@ void zs_unmap_object(struct zs_pool *pool, unsigned long handle) ...@@ -1348,8 +1350,8 @@ void zs_unmap_object(struct zs_pool *pool, unsigned long handle)
} }
EXPORT_SYMBOL_GPL(zs_unmap_object); EXPORT_SYMBOL_GPL(zs_unmap_object);
static unsigned long obj_malloc(struct page *first_page, static unsigned long obj_malloc(struct size_class *class,
struct size_class *class, unsigned long handle) struct page *first_page, unsigned long handle)
{ {
unsigned long obj; unsigned long obj;
struct link_free *link; struct link_free *link;
...@@ -1426,7 +1428,7 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size) ...@@ -1426,7 +1428,7 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size)
class->size, class->pages_per_zspage)); class->size, class->pages_per_zspage));
} }
obj = obj_malloc(first_page, class, handle); obj = obj_malloc(class, first_page, handle);
/* Now move the zspage to another fullness group, if required */ /* Now move the zspage to another fullness group, if required */
fix_fullness_group(class, first_page); fix_fullness_group(class, first_page);
record_obj(handle, obj); record_obj(handle, obj);
...@@ -1499,8 +1501,8 @@ void zs_free(struct zs_pool *pool, unsigned long handle) ...@@ -1499,8 +1501,8 @@ void zs_free(struct zs_pool *pool, unsigned long handle)
} }
EXPORT_SYMBOL_GPL(zs_free); EXPORT_SYMBOL_GPL(zs_free);
static void zs_object_copy(unsigned long dst, unsigned long src, static void zs_object_copy(struct size_class *class, unsigned long dst,
struct size_class *class) unsigned long src)
{ {
struct page *s_page, *d_page; struct page *s_page, *d_page;
unsigned long s_objidx, d_objidx; unsigned long s_objidx, d_objidx;
...@@ -1566,8 +1568,8 @@ static void zs_object_copy(unsigned long dst, unsigned long src, ...@@ -1566,8 +1568,8 @@ static void zs_object_copy(unsigned long dst, unsigned long src,
* Find alloced object in zspage from index object and * Find alloced object in zspage from index object and
* return handle. * return handle.
*/ */
static unsigned long find_alloced_obj(struct page *page, int index, static unsigned long find_alloced_obj(struct size_class *class,
struct size_class *class) struct page *page, int index)
{ {
unsigned long head; unsigned long head;
int offset = 0; int offset = 0;
...@@ -1617,7 +1619,7 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class, ...@@ -1617,7 +1619,7 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class,
int ret = 0; int ret = 0;
while (1) { while (1) {
handle = find_alloced_obj(s_page, index, class); handle = find_alloced_obj(class, s_page, index);
if (!handle) { if (!handle) {
s_page = get_next_page(s_page); s_page = get_next_page(s_page);
if (!s_page) if (!s_page)
...@@ -1634,8 +1636,8 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class, ...@@ -1634,8 +1636,8 @@ static int migrate_zspage(struct zs_pool *pool, struct size_class *class,
} }
used_obj = handle_to_obj(handle); used_obj = handle_to_obj(handle);
free_obj = obj_malloc(d_page, class, handle); free_obj = obj_malloc(class, d_page, handle);
zs_object_copy(free_obj, used_obj, class); zs_object_copy(class, free_obj, used_obj);
index++; index++;
/* /*
* record_obj updates handle's value to free_obj and it will * record_obj updates handle's value to free_obj and it will
...@@ -1664,7 +1666,7 @@ static struct page *isolate_target_page(struct size_class *class) ...@@ -1664,7 +1666,7 @@ static struct page *isolate_target_page(struct size_class *class)
for (i = 0; i < _ZS_NR_FULLNESS_GROUPS; i++) { for (i = 0; i < _ZS_NR_FULLNESS_GROUPS; i++) {
page = class->fullness_list[i]; page = class->fullness_list[i];
if (page) { if (page) {
remove_zspage(page, class, i); remove_zspage(class, i, page);
break; break;
} }
} }
...@@ -1687,7 +1689,7 @@ static enum fullness_group putback_zspage(struct zs_pool *pool, ...@@ -1687,7 +1689,7 @@ static enum fullness_group putback_zspage(struct zs_pool *pool,
enum fullness_group fullness; enum fullness_group fullness;
fullness = get_fullness_group(first_page); fullness = get_fullness_group(first_page);
insert_zspage(first_page, class, fullness); insert_zspage(class, fullness, first_page);
set_zspage_mapping(first_page, class->index, fullness); set_zspage_mapping(first_page, class->index, fullness);
if (fullness == ZS_EMPTY) { if (fullness == ZS_EMPTY) {
...@@ -1712,7 +1714,7 @@ static struct page *isolate_source_page(struct size_class *class) ...@@ -1712,7 +1714,7 @@ static struct page *isolate_source_page(struct size_class *class)
if (!page) if (!page)
continue; continue;
remove_zspage(page, class, i); remove_zspage(class, i, page);
break; break;
} }
...@@ -1949,7 +1951,7 @@ struct zs_pool *zs_create_pool(const char *name, gfp_t flags) ...@@ -1949,7 +1951,7 @@ struct zs_pool *zs_create_pool(const char *name, gfp_t flags)
pool->flags = flags; pool->flags = flags;
if (zs_pool_stat_create(name, pool)) if (zs_pool_stat_create(pool, name))
goto err; goto err;
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册