aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mm.h
diff options
context:
space:
mode:
authorYing Han <yinghan@google.com>2011-05-24 20:12:26 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-05-25 11:39:25 -0400
commita09ed5e00084448453c8bada4dcd31e5fbfc2f21 (patch)
tree493f5f2a93efb080cdcc28e793cbcfc7999e66eb /include/linux/mm.h
parent7b1de5868b124d8f399d8791ed30a9b679d64d4d (diff)
vmscan: change shrink_slab() interfaces by passing shrink_control
Consolidate the existing parameters to shrink_slab() into a new shrink_control struct. This is needed later to pass the same struct to shrinkers. Signed-off-by: Ying Han <yinghan@google.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Minchan Kim <minchan.kim@gmail.com> Acked-by: Pavel Emelyanov <xemul@openvz.org> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Mel Gorman <mel@csn.ul.ie> Acked-by: Rik van Riel <riel@redhat.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Hugh Dickins <hughd@google.com> Cc: Dave Hansen <dave@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r--include/linux/mm.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 8e2f2cd821f7..32cfa9602d00 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1162,6 +1162,15 @@ static inline void sync_mm_rss(struct task_struct *task, struct mm_struct *mm)
1162#endif 1162#endif
1163 1163
1164/* 1164/*
1165 * This struct is used to pass information from page reclaim to the shrinkers.
1166 * We consolidate the values for easier extention later.
1167 */
1168struct shrink_control {
1169 unsigned long nr_scanned;
1170 gfp_t gfp_mask;
1171};
1172
1173/*
1165 * A callback you can register to apply pressure to ageable caches. 1174 * A callback you can register to apply pressure to ageable caches.
1166 * 1175 *
1167 * 'shrink' is passed a count 'nr_to_scan' and a 'gfpmask'. It should 1176 * 'shrink' is passed a count 'nr_to_scan' and a 'gfpmask'. It should
@@ -1630,8 +1639,8 @@ int in_gate_area_no_mm(unsigned long addr);
1630 1639
1631int drop_caches_sysctl_handler(struct ctl_table *, int, 1640int drop_caches_sysctl_handler(struct ctl_table *, int,
1632 void __user *, size_t *, loff_t *); 1641 void __user *, size_t *, loff_t *);
1633unsigned long shrink_slab(unsigned long scanned, gfp_t gfp_mask, 1642unsigned long shrink_slab(struct shrink_control *shrink,
1634 unsigned long lru_pages); 1643 unsigned long lru_pages);
1635 1644
1636#ifndef CONFIG_MMU 1645#ifndef CONFIG_MMU
1637#define randomize_va_space 0 1646#define randomize_va_space 0