xref: /openbsd/sys/dev/pci/drm/include/linux/shrinker.h (revision 3bef86f7)
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
27 synchronize_shrinkers(void)
28 {
29 }
30 
31 #endif
32