1 /* Public domain. */ 2 3 #ifndef _LINUX_SHRINKER_H 4 #define _LINUX_SHRINKER_H 5 6 struct shrink_control { 7 u_long nr_to_scan; 8 u_long nr_scanned; 9 }; 10 11 struct shrinker { 12 u_long (*count_objects)(struct shrinker *, struct shrink_control *); 13 u_long (*scan_objects)(struct shrinker *, struct shrink_control *); 14 long batch; 15 int seeks; 16 TAILQ_ENTRY(shrinker) next; 17 }; 18 19 #define SHRINK_STOP ~0UL 20 21 #define DEFAULT_SEEKS 2 22 23 int register_shrinker(struct shrinker *, const char *format, ...); 24 void unregister_shrinker(struct shrinker *); 25 26 static inline void synchronize_shrinkers(void)27synchronize_shrinkers(void) 28 { 29 } 30 31 #endif 32