memcg swap: use mem_cgroup_uncharge_swap fix
authorMichal Hocko <>
Thu, 5 Apr 2012 21:25:16 +0000 (14:25 -0700)
committerLinus Torvalds <>
Thu, 5 Apr 2012 22:25:51 +0000 (15:25 -0700)
Although mem_cgroup_uncharge_swap has an empty placeholder for
!CONFIG_CGROUP_MEM_RES_CTLR_SWAP the definition is placed in the
CONFIG_SWAP ifdef block so we are missing the same definition for

This has not been an issue before, because mem_cgroup_uncharge_swap was
not called from !CONFIG_SWAP context.  But Hugh Dickins has a cleanup
patch to call __mem_cgroup_commit_charge_swapin which is defined also

Let's move both the empty definition and declaration outside of the
CONFIG_SWAP block to avoid the following compilation error:

  mm/memcontrol.c: In function '__mem_cgroup_commit_charge_swapin':
  mm/memcontrol.c:2837: error: implicit declaration of function 'mem_cgroup_uncharge_swap'

if CONFIG_SWAP is disabled.

Reported-by: David Rientjes <>
Signed-off-by: Michal Hocko <>
Cc: Hugh Dickins <>
Cc: KAMEZAWA Hiroyuki <>
Cc: Daisuke Nishimura <>
Cc: Johannes Weiner <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>

index 8dc0ea7caf02baa404e8896d13351577a177547a..b1fd5c7925feab91948ee46f0b5140b4c0ae5399 100644 (file)
@@ -305,6 +305,13 @@ static inline int mem_cgroup_swappiness(struct mem_cgroup *mem)
        return vm_swappiness;
+extern void mem_cgroup_uncharge_swap(swp_entry_t ent);
+static inline void mem_cgroup_uncharge_swap(swp_entry_t ent)
 /* linux/mm/page_io.c */
 extern int swap_readpage(struct page *);
@@ -375,13 +382,6 @@ mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout)
-extern void mem_cgroup_uncharge_swap(swp_entry_t ent);
-static inline void mem_cgroup_uncharge_swap(swp_entry_t ent)
 #else /* CONFIG_SWAP */