lkml.org 
[lkml]   [2010]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH -mmotm] build fix for memcg-move-charges-of-anonymous-swap.patch
On Thu, 7 Jan 2010 13:06:09 +0900
Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> wrote:

> build fix in !CONFIG_SWAP case.
>
> CC mm/memcontrol.o
> mm/memcontrol.c: In function 'is_target_pte_for_mc':
> mm/memcontrol.c:3648: error: implicit declaration of function 'mem_cgroup_count_swap_user'
> make[1]: *** [mm/memcontrol.o] Error 1
> make: *** [mm] Error 2
>
> Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>

Hmm, this doesn't seem include fix for CONFIG_CGROUP_MEM_RES_CTLR_SWAP=n
==
static int is_target_pte_for_mc(struct vm_area_struct *vma,
unsigned long addr, pte_t ptent, union mc_target *target)
{
....
else if (is_swap_pte(ptent)) {
ent = pte_to_swp_entry(ptent);
if (!move_anon || non_swap_entry(ent))
return 0;
usage_count = mem_cgroup_count_swap_user(ent, &page);
}
==
At least, !do_swap_account check is necessary, I think.
I'm sorry if I miss something...

-Kame



> ---
> This can be applied after memcg-move-charges-of-anonymous-swap.patch.
>
> include/linux/swap.h | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/swap.h b/include/linux/swap.h
> index d9b06f7..2e1d5c9 100644
> --- a/include/linux/swap.h
> +++ b/include/linux/swap.h
> @@ -287,6 +287,10 @@ extern int shmem_unuse(swp_entry_t entry, struct page *page);
>
> extern void swap_unplug_io_fn(struct backing_dev_info *, struct page *);
>
> +#ifdef CONFIG_CGROUP_MEM_RES_CTLR
> +extern int mem_cgroup_count_swap_user(swp_entry_t ent, struct page **pagep);
> +#endif
> +
> #ifdef CONFIG_SWAP
> /* linux/mm/page_io.c */
> extern int swap_readpage(struct page *);
> @@ -356,7 +360,6 @@ static inline void disable_swap_token(void)
> #ifdef CONFIG_CGROUP_MEM_RES_CTLR
> extern void
> mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout);
> -extern int mem_cgroup_count_swap_user(swp_entry_t ent, struct page **pagep);
> #else
> static inline void
> mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout)
> --
> 1.5.6.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>



\
 
 \ /
  Last update: 2010-01-07 05:37    [W:0.774 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site