forked from luck/tmp_suning_uos_patched
zsmalloc: reorder function parameters
Clean up function parameter ordering to order higher data structure first. Signed-off-by: Minchan Kim <minchan@kernel.org> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
830e4bc5ba
commit
251cbb951b
|
@ -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)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
||||||
* 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,
|
||||||
* 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,
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 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)
|
||||||
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)
|
||||||
}
|
}
|
||||||
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)
|
||||||
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)
|
||||||
}
|
}
|
||||||
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,
|
||||||
* 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,
|
||||||
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,
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
||||||
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,
|
||||||
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)
|
||||||
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)
|
||||||
|
|
||||||
pool->flags = flags;
|
pool->flags = flags;
|
||||||
|
|
||||||
if (zs_pool_stat_create(name, pool))
|
if (zs_pool_stat_create(pool, name))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue
Block a user