diff options
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/memory.c b/mm/memory.c index bb1369f7b9b4..0abd07097ec6 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -3044,7 +3044,10 @@ static int do_swap_page(struct mm_struct *mm, struct vm_area_struct *vma, | |||
3044 | } | 3044 | } |
3045 | flush_icache_page(vma, page); | 3045 | flush_icache_page(vma, page); |
3046 | set_pte_at(mm, address, page_table, pte); | 3046 | set_pte_at(mm, address, page_table, pte); |
3047 | do_page_add_anon_rmap(page, vma, address, exclusive); | 3047 | if (swapcache) /* ksm created a completely new copy */ |
3048 | page_add_new_anon_rmap(page, vma, address); | ||
3049 | else | ||
3050 | do_page_add_anon_rmap(page, vma, address, exclusive); | ||
3048 | /* It's better to call commit-charge after rmap is established */ | 3051 | /* It's better to call commit-charge after rmap is established */ |
3049 | mem_cgroup_commit_charge_swapin(page, ptr); | 3052 | mem_cgroup_commit_charge_swapin(page, ptr); |
3050 | 3053 | ||