Re: mmotm 2010-01-06-14-34 uploaded (mm/memcontrol)

From: KAMEZAWA Hiroyuki
Date: Wed Jan 06 2010 - 21:25:36 EST


On Thu, 7 Jan 2010 11:13:19 +0900
Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> 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 ?

Andrew, this is a fix onto Nishimura-san's memcg move account patch series.
Maybe this -> patches/memcg-move-charges-of-anonymous-swap.patch

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@xxxxxxxxxxxxxxxxx>
Reported-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/