Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 508b7be0 authored by KAMEZAWA Hiroyuki's avatar KAMEZAWA Hiroyuki Committed by Linus Torvalds
Browse files

memcg: avoid unnecessary initialization



* remove over-killing initialization (in fast path)
* makeing the condition for PAGE_CGROUP_FLAG_ACTIVE be more obvious.

Signed-off-by: default avatarKAMEAZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Reviewed-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
Acked-by: default avatarBalbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: default avatarPavel Emelyanov <xemul@openvz.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a181b0e8
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -296,7 +296,7 @@ static void __mem_cgroup_remove_list(struct mem_cgroup_per_zone *mz,
		MEM_CGROUP_ZSTAT(mz, MEM_CGROUP_ZSTAT_INACTIVE) -= 1;

	mem_cgroup_charge_statistics(pc->mem_cgroup, pc->flags, false);
	list_del_init(&pc->lru);
	list_del(&pc->lru);
}

static void __mem_cgroup_add_list(struct mem_cgroup_per_zone *mz,
@@ -559,7 +559,7 @@ static int mem_cgroup_charge_common(struct page *page, struct mm_struct *mm,
	}
	unlock_page_cgroup(page);

	pc = kmem_cache_zalloc(page_cgroup_cache, gfp_mask);
	pc = kmem_cache_alloc(page_cgroup_cache, gfp_mask);
	if (pc == NULL)
		goto err;

@@ -606,9 +606,14 @@ static int mem_cgroup_charge_common(struct page *page, struct mm_struct *mm,
	pc->ref_cnt = 1;
	pc->mem_cgroup = mem;
	pc->page = page;
	pc->flags = PAGE_CGROUP_FLAG_ACTIVE;
	/*
	 * If a page is accounted as a page cache, insert to inactive list.
	 * If anon, insert to active list.
	 */
	if (ctype == MEM_CGROUP_CHARGE_TYPE_CACHE)
		pc->flags = PAGE_CGROUP_FLAG_CACHE;
	else
		pc->flags = PAGE_CGROUP_FLAG_ACTIVE;

	lock_page_cgroup(page);
	if (page_get_page_cgroup(page)) {