diff options
author | Ying Han <yinghan@google.com> | 2011-05-24 20:12:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-25 11:39:25 -0400 |
commit | a09ed5e00084448453c8bada4dcd31e5fbfc2f21 (patch) | |
tree | 493f5f2a93efb080cdcc28e793cbcfc7999e66eb /include | |
parent | 7b1de5868b124d8f399d8791ed30a9b679d64d4d (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')
-rw-r--r-- | include/linux/mm.h | 13 |
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 | */ | ||
1168 | struct 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 | ||
1631 | int drop_caches_sysctl_handler(struct ctl_table *, int, | 1640 | int drop_caches_sysctl_handler(struct ctl_table *, int, |
1632 | void __user *, size_t *, loff_t *); | 1641 | void __user *, size_t *, loff_t *); |
1633 | unsigned long shrink_slab(unsigned long scanned, gfp_t gfp_mask, | 1642 | unsigned 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 |