Root/
1 | #ifndef __INCLUDE_LINUX_OOM_H |
2 | #define __INCLUDE_LINUX_OOM_H |
3 | |
4 | /* |
5 | * /proc/<pid>/oom_adj is deprecated, see |
6 | * Documentation/feature-removal-schedule.txt. |
7 | * |
8 | * /proc/<pid>/oom_adj set to -17 protects from the oom-killer |
9 | */ |
10 | #define OOM_DISABLE (-17) |
11 | /* inclusive */ |
12 | #define OOM_ADJUST_MIN (-16) |
13 | #define OOM_ADJUST_MAX 15 |
14 | |
15 | /* |
16 | * /proc/<pid>/oom_score_adj set to OOM_SCORE_ADJ_MIN disables oom killing for |
17 | * pid. |
18 | */ |
19 | #define OOM_SCORE_ADJ_MIN (-1000) |
20 | #define OOM_SCORE_ADJ_MAX 1000 |
21 | |
22 | #ifdef __KERNEL__ |
23 | |
24 | #include <linux/sched.h> |
25 | #include <linux/types.h> |
26 | #include <linux/nodemask.h> |
27 | |
28 | struct zonelist; |
29 | struct notifier_block; |
30 | struct mem_cgroup; |
31 | struct task_struct; |
32 | |
33 | /* |
34 | * Types of limitations to the nodes from which allocations may occur |
35 | */ |
36 | enum oom_constraint { |
37 | CONSTRAINT_NONE, |
38 | CONSTRAINT_CPUSET, |
39 | CONSTRAINT_MEMORY_POLICY, |
40 | CONSTRAINT_MEMCG, |
41 | }; |
42 | |
43 | extern int test_set_oom_score_adj(int new_val); |
44 | |
45 | extern unsigned int oom_badness(struct task_struct *p, struct mem_cgroup *mem, |
46 | const nodemask_t *nodemask, unsigned long totalpages); |
47 | extern int try_set_zonelist_oom(struct zonelist *zonelist, gfp_t gfp_flags); |
48 | extern void clear_zonelist_oom(struct zonelist *zonelist, gfp_t gfp_flags); |
49 | |
50 | extern void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, |
51 | int order, nodemask_t *mask); |
52 | extern int register_oom_notifier(struct notifier_block *nb); |
53 | extern int unregister_oom_notifier(struct notifier_block *nb); |
54 | |
55 | extern bool oom_killer_disabled; |
56 | |
57 | static inline void oom_killer_disable(void) |
58 | { |
59 | oom_killer_disabled = true; |
60 | } |
61 | |
62 | static inline void oom_killer_enable(void) |
63 | { |
64 | oom_killer_disabled = false; |
65 | } |
66 | |
67 | /* The badness from the OOM killer */ |
68 | extern unsigned long badness(struct task_struct *p, struct mem_cgroup *mem, |
69 | const nodemask_t *nodemask, unsigned long uptime); |
70 | |
71 | extern struct task_struct *find_lock_task_mm(struct task_struct *p); |
72 | |
73 | /* sysctls */ |
74 | extern int sysctl_oom_dump_tasks; |
75 | extern int sysctl_oom_kill_allocating_task; |
76 | extern int sysctl_panic_on_oom; |
77 | #endif /* __KERNEL__*/ |
78 | #endif /* _INCLUDE_LINUX_OOM_H */ |
79 |
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