mm/memcontrol.c: cleanup some useless code
Compound pages handling in mem_cgroup_migrate is more convoluted than necessary. The state is duplicated in compound variable and the same could be achieved by PageTransHuge check which is trivial and hpage_nr_pages is already PageTransHuge aware. It is much simpler to just use hpage_nr_pages for nr_pages and replace the local variable by PageTransHuge check directly Link: http://lkml.kernel.org/r/20191210160450.3395-1-pilgrimtao@gmail.com Signed-off-by: Kaitao Cheng <pilgrimtao@gmail.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Vladimir Davydov <vdavydov.dev@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
10c8d69f31
commit
92855270ff
|
@ -6633,7 +6633,6 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage)
|
|||
{
|
||||
struct mem_cgroup *memcg;
|
||||
unsigned int nr_pages;
|
||||
bool compound;
|
||||
unsigned long flags;
|
||||
|
||||
VM_BUG_ON_PAGE(!PageLocked(oldpage), oldpage);
|
||||
|
@ -6655,8 +6654,7 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage)
|
|||
return;
|
||||
|
||||
/* Force-charge the new page. The old one will be freed soon */
|
||||
compound = PageTransHuge(newpage);
|
||||
nr_pages = compound ? hpage_nr_pages(newpage) : 1;
|
||||
nr_pages = hpage_nr_pages(newpage);
|
||||
|
||||
page_counter_charge(&memcg->memory, nr_pages);
|
||||
if (do_memsw_account())
|
||||
|
@ -6666,7 +6664,8 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage)
|
|||
commit_charge(newpage, memcg, false);
|
||||
|
||||
local_irq_save(flags);
|
||||
mem_cgroup_charge_statistics(memcg, newpage, compound, nr_pages);
|
||||
mem_cgroup_charge_statistics(memcg, newpage, PageTransHuge(newpage),
|
||||
nr_pages);
|
||||
memcg_check_events(memcg, newpage);
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue