[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100107115901.594330d0.nishimura@mxp.nes.nec.co.jp>
Date: Thu, 7 Jan 2010 11:59:01 +0900
From: Daisuke Nishimura <nishimura@....nes.nec.co.jp>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Cc: nishimura@....nes.nec.co.jp,
Randy Dunlap <randy.dunlap@...cle.com>,
akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: mmotm 2010-01-06-14-34 uploaded (mm/memcontrol)
Thank you for your fix.
On Thu, 7 Jan 2010 11:21:50 +0900, KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com> wrote:
> On Thu, 7 Jan 2010 11:13:19 +0900
> Daisuke Nishimura <nishimura@....nes.nec.co.jp> wrote:
>
> > Thank you for your report.
>
> > > config attached.
> > >
> > I'm sorry I missed the !CONFIG_SWAP or !CONFIG_CGROUP_MEM_RES_CTLR_SWAP case.
> >
> > I'll prepare fixes.
> >
> Nishimura-san, could you double check this ?
>
It seems that this cannot fix the !CONFIG_SWAP case in my environment.
> Andrew, this is a fix onto Nishimura-san's memcg move account patch series.
> Maybe this -> patches/memcg-move-charges-of-anonymous-swap.patch
>
I think both memcg-move-charges-of-anonymous-swap.patch and
memcg-improve-performance-in-moving-swap-charge.patch need to be fixed.
> mm/memcontrol.c: In function 'is_target_pte_for_mc':
> mm/memcontrol.c:3985: error: implicit declaration of function 'mem_cgroup_count_swap_user'
This derives from a bug of memcg-move-charges-of-anonymous-swap.patch,
and
> mm/memcontrol.c: In function 'mem_cgroup_move_charge_pte_range':
> mm/memcontrol.c:4220: error: too many arguments to function 'mem_cgroup_move_swap_account'
> mm/memcontrol.c:4220: error: too many arguments to function 'mem_cgroup_move_swap_account'
> mm/memcontrol.c:4220: error: too many arguments to function 'mem_cgroup_move_swap_account'
this derives from that of memcg-improve-performance-in-moving-swap-charge.patch.
I'm now testing my patch in some configs, and will post later.
Thanks,
Daisuke Nishimura.
> Thanks,
> -Kame
> ==
>
> Build fix to following build error when CONFIG_CGROUP_MEM_RES_CTLR_SWAP is off.
>
> mm/memcontrol.c: In function 'is_target_pte_for_mc':
> mm/memcontrol.c:3985: error: implicit declaration of function 'mem_cgroup_count_swap_user'
> mm/memcontrol.c: In function 'mem_cgroup_move_charge_pte_range':
> mm/memcontrol.c:4220: error: too many arguments to function 'mem_cgroup_move_swap_account'
> mm/memcontrol.c:4220: error: too many arguments to function 'mem_cgroup_move_swap_account'
> mm/memcontrol.c:4220: error: too many arguments to function 'mem_cgroup_move_swap_account'
>
> CC: Daisuke Nishimura <nishimura@....nes.nec.co.jp>
> Reported-by: Randy Dunlap <randy.dunlap@...cle.com>
> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
> ---
> mm/memcontrol.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Index: ref-mmotm/mm/memcontrol.c
> ===================================================================
> --- ref-mmotm.orig/mm/memcontrol.c
> +++ ref-mmotm/mm/memcontrol.c
> @@ -2369,7 +2369,7 @@ static int mem_cgroup_move_swap_account(
> }
> #else
> static inline int mem_cgroup_move_swap_account(swp_entry_t entry,
> - struct mem_cgroup *from, struct mem_cgroup *to)
> + struct mem_cgroup *from, struct mem_cgroup *to, bool need_fixup)
> {
> return -EINVAL;
> }
> @@ -3976,7 +3976,7 @@ static int is_target_pte_for_mc(struct v
>
> if (!pte_present(ptent)) {
> /* TODO: handle swap of shmes/tmpfs */
> - if (pte_none(ptent) || pte_file(ptent))
> + if (pte_none(ptent) || pte_file(ptent) || !do_swap_account)
> return 0;
> else if (is_swap_pte(ptent)) {
> ent = pte_to_swp_entry(ptent);
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists