Re: [PATCH v3] memcg: remove unnecessary thp check at page stataccounting
From: Michal Hocko
Date: Fri Jan 20 2012 - 03:43:10 EST
On Fri 20-01-12 12:25:12, KAMEZAWA Hiroyuki wrote:
> Updated description.
> ==
> From a6395205d9f517af7963ff61d66efbcf1c64b2a5 Mon Sep 17 00:00:00 2001
> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
> Date: Thu, 12 Jan 2012 16:08:33 +0900
> Subject: [PATCH v3] memcg: remove unnecessary check in mem_cgroup_update_page_stat()
>
> This patch is a fix for
I would rather call it a follow up for this patch. It doesn't fixes it.
> memcg: make mem_cgroup_split_huge_fixup() more efficient
>
> Above patch removes move_lock_page_cgroup(). So, we do not have
> to check PageTransHuge in mem_cgroup_update_page_stat and fallback into
> the locked accounting because both move_account and thp split are done
> with compound_lock so they cannot race.
> The race between update vs. move is protected by mem_cgroup_stealed,
>
> PageTransHuge pages shouldn't appear in this code path currently because
> we are tracking only file pages at the moment but later we are planning
> to track also other pages (e.g. mlocked ones).
>
> Changelog:
> - updated description.
>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
Anyway
Acked-by: Michal Hocko <mhocko@xxxxxxx>
Thanks
> ---
> mm/memcontrol.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 3dbff4d..ff24520 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1867,7 +1867,7 @@ void mem_cgroup_update_page_stat(struct page *page,
> if (unlikely(!memcg || !PageCgroupUsed(pc)))
> goto out;
> /* pc->mem_cgroup is unstable ? */
> - if (unlikely(mem_cgroup_stealed(memcg)) || PageTransHuge(page)) {
> + if (unlikely(mem_cgroup_stealed(memcg))) {
> /* take a lock against to access pc->mem_cgroup */
> move_lock_page_cgroup(pc, &flags);
> need_unlock = true;
> --
> 1.7.4.1
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/