Root/
1 | #ifndef __LINUX_VMPRESSURE_H |
2 | #define __LINUX_VMPRESSURE_H |
3 | |
4 | #include <linux/mutex.h> |
5 | #include <linux/list.h> |
6 | #include <linux/workqueue.h> |
7 | #include <linux/gfp.h> |
8 | #include <linux/types.h> |
9 | #include <linux/cgroup.h> |
10 | |
11 | struct vmpressure { |
12 | unsigned long scanned; |
13 | unsigned long reclaimed; |
14 | /* The lock is used to keep the scanned/reclaimed above in sync. */ |
15 | struct spinlock sr_lock; |
16 | |
17 | /* The list of vmpressure_event structs. */ |
18 | struct list_head events; |
19 | /* Have to grab the lock on events traversal or modifications. */ |
20 | struct mutex events_lock; |
21 | |
22 | struct work_struct work; |
23 | }; |
24 | |
25 | struct mem_cgroup; |
26 | |
27 | #ifdef CONFIG_MEMCG |
28 | extern void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, |
29 | unsigned long scanned, unsigned long reclaimed); |
30 | extern void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, int prio); |
31 | |
32 | extern void vmpressure_init(struct vmpressure *vmpr); |
33 | extern void vmpressure_cleanup(struct vmpressure *vmpr); |
34 | extern struct vmpressure *memcg_to_vmpressure(struct mem_cgroup *memcg); |
35 | extern struct cgroup_subsys_state *vmpressure_to_css(struct vmpressure *vmpr); |
36 | extern struct vmpressure *css_to_vmpressure(struct cgroup_subsys_state *css); |
37 | extern int vmpressure_register_event(struct cgroup_subsys_state *css, |
38 | struct cftype *cft, |
39 | struct eventfd_ctx *eventfd, |
40 | const char *args); |
41 | extern void vmpressure_unregister_event(struct cgroup_subsys_state *css, |
42 | struct cftype *cft, |
43 | struct eventfd_ctx *eventfd); |
44 | #else |
45 | static inline void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, |
46 | unsigned long scanned, unsigned long reclaimed) {} |
47 | static inline void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, |
48 | int prio) {} |
49 | #endif /* CONFIG_MEMCG */ |
50 | #endif /* __LINUX_VMPRESSURE_H */ |
51 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9