xref: /openbsd-src/sys/dev/pci/drm/include/linux/shrinker.h (revision 46035553bfdd96e63c94e32da0210227ec2e3cf1)
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 *);
24 void unregister_shrinker(struct shrinker *);
25 
26 #endif
27