1 #ifndef __TOOLS_LINUX_SHRINKER_H
2 #define __TOOLS_LINUX_SHRINKER_H
4 #include <linux/list.h>
5 #include <linux/types.h>
7 struct shrink_control {
9 unsigned long nr_to_scan;
12 #define SHRINK_STOP (~0UL)
15 unsigned long (*count_objects)(struct shrinker *,
16 struct shrink_control *sc);
17 unsigned long (*scan_objects)(struct shrinker *,
18 struct shrink_control *sc);
20 int seeks; /* seeks to recreate an obj */
21 long batch; /* reclaim batch size, 0 = default */
22 struct list_head list;
25 int register_shrinker(struct shrinker *);
26 void unregister_shrinker(struct shrinker *);
28 void run_shrinkers(void);
30 #endif /* __TOOLS_LINUX_SHRINKER_H */