summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/drm/include/linux/shrinker.h
blob: 62272dc11dc4dafc8407e7358299a8214498c8a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* Public domain. */

#ifndef _LINUX_SHRINKER_H
#define _LINUX_SHRINKER_H

struct shrink_control {
	u_long	nr_to_scan;
	u_long	nr_scanned;
};

struct shrinker {
	u_long	(*count_objects)(struct shrinker *, struct shrink_control *);
	u_long	(*scan_objects)(struct shrinker *, struct shrink_control *);
	long	batch;
	int	seeks;
	TAILQ_ENTRY(shrinker) next;
};

#define SHRINK_STOP	~0UL

#define DEFAULT_SEEKS	2

int register_shrinker(struct shrinker *);
void unregister_shrinker(struct shrinker *);

#endif