Nicholas Flintham | 1e3d311 | 2013-04-10 10:48:38 +0100 | [diff] [blame^] | 1 | #ifndef _LINUX_SHRINKER_H |
| 2 | #define _LINUX_SHRINKER_H |
| 3 | |
| 4 | struct shrink_control { |
| 5 | gfp_t gfp_mask; |
| 6 | |
| 7 | |
| 8 | unsigned long nr_to_scan; |
| 9 | }; |
| 10 | |
| 11 | struct shrinker { |
| 12 | int (*shrink)(struct shrinker *, struct shrink_control *sc); |
| 13 | int seeks; |
| 14 | long batch; |
| 15 | |
| 16 | |
| 17 | struct list_head list; |
| 18 | atomic_long_t nr_in_batch; |
| 19 | }; |
| 20 | #define DEFAULT_SEEKS 2 |
| 21 | extern void register_shrinker(struct shrinker *); |
| 22 | extern void unregister_shrinker(struct shrinker *); |
| 23 | #endif |