mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
mm: memcg: only check for PageSwapCache when uncharging anon
Only anon pages that are uncharged at the time of the last page table mapping vanishing may be in swapcache. When shmem pages, file pages, swap-freed anon pages, or just migrated pages are uncharged, they are known for sure to be not in swapcache. Signed-off-by: Johannes Weiner <[email protected]> Acked-by: KAMEZAWA Hiroyuki <[email protected]> Acked-by: Michal Hocko <[email protected]> Cc: David Rientjes <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: Johannes Weiner <[email protected]> Cc: Wanpeng Li <[email protected]> Cc: Mel Gorman <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
0c59b89c81
commit
7d188958bb
1 changed files with 4 additions and 9 deletions
|
|
@ -3093,8 +3093,6 @@ void mem_cgroup_uncharge_cache_page(struct page *page)
|
|||
{
|
||||
VM_BUG_ON(page_mapped(page));
|
||||
VM_BUG_ON(page->mapping);
|
||||
if (PageSwapCache(page))
|
||||
return;
|
||||
__mem_cgroup_uncharge_common(page, MEM_CGROUP_CHARGE_TYPE_CACHE, false);
|
||||
}
|
||||
|
||||
|
|
@ -3159,8 +3157,6 @@ mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout)
|
|||
if (!swapout) /* this was a swap cache but the swap is unused ! */
|
||||
ctype = MEM_CGROUP_CHARGE_TYPE_DROP;
|
||||
|
||||
if (PageSwapCache(page))
|
||||
return;
|
||||
memcg = __mem_cgroup_uncharge_common(page, ctype, false);
|
||||
|
||||
/*
|
||||
|
|
@ -3350,11 +3346,10 @@ void mem_cgroup_end_migration(struct mem_cgroup *memcg,
|
|||
unused = oldpage;
|
||||
}
|
||||
anon = PageAnon(used);
|
||||
if (!PageSwapCache(unused))
|
||||
__mem_cgroup_uncharge_common(unused,
|
||||
anon ? MEM_CGROUP_CHARGE_TYPE_ANON
|
||||
: MEM_CGROUP_CHARGE_TYPE_CACHE,
|
||||
true);
|
||||
__mem_cgroup_uncharge_common(unused,
|
||||
anon ? MEM_CGROUP_CHARGE_TYPE_ANON
|
||||
: MEM_CGROUP_CHARGE_TYPE_CACHE,
|
||||
true);
|
||||
css_put(&memcg->css);
|
||||
/*
|
||||
* We disallowed uncharge of pages under migration because mapcount
|
||||
|
|
|
|||
Loading…
Reference in a new issue