diff options
Diffstat (limited to 'include/linux/mempolicy.h')
| -rw-r--r-- | include/linux/mempolicy.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h index 1cc966cd3e5..7b9ef6bf45a 100644 --- a/include/linux/mempolicy.h +++ b/include/linux/mempolicy.h | |||
| @@ -23,6 +23,13 @@ enum { | |||
| 23 | MPOL_MAX, /* always last member of enum */ | 23 | MPOL_MAX, /* always last member of enum */ |
| 24 | }; | 24 | }; |
| 25 | 25 | ||
| 26 | enum mpol_rebind_step { | ||
| 27 | MPOL_REBIND_ONCE, /* do rebind work at once(not by two step) */ | ||
| 28 | MPOL_REBIND_STEP1, /* first step(set all the newly nodes) */ | ||
| 29 | MPOL_REBIND_STEP2, /* second step(clean all the disallowed nodes)*/ | ||
| 30 | MPOL_REBIND_NSTEP, | ||
| 31 | }; | ||
| 32 | |||
| 26 | /* Flags for set_mempolicy */ | 33 | /* Flags for set_mempolicy */ |
| 27 | #define MPOL_F_STATIC_NODES (1 << 15) | 34 | #define MPOL_F_STATIC_NODES (1 << 15) |
| 28 | #define MPOL_F_RELATIVE_NODES (1 << 14) | 35 | #define MPOL_F_RELATIVE_NODES (1 << 14) |
| @@ -51,6 +58,7 @@ enum { | |||
| 51 | */ | 58 | */ |
| 52 | #define MPOL_F_SHARED (1 << 0) /* identify shared policies */ | 59 | #define MPOL_F_SHARED (1 << 0) /* identify shared policies */ |
| 53 | #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */ | 60 | #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */ |
| 61 | #define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */ | ||
| 54 | 62 | ||
| 55 | #ifdef __KERNEL__ | 63 | #ifdef __KERNEL__ |
| 56 | 64 | ||
| @@ -193,8 +201,8 @@ struct mempolicy *mpol_shared_policy_lookup(struct shared_policy *sp, | |||
| 193 | 201 | ||
| 194 | extern void numa_default_policy(void); | 202 | extern void numa_default_policy(void); |
| 195 | extern void numa_policy_init(void); | 203 | extern void numa_policy_init(void); |
| 196 | extern void mpol_rebind_task(struct task_struct *tsk, | 204 | extern void mpol_rebind_task(struct task_struct *tsk, const nodemask_t *new, |
| 197 | const nodemask_t *new); | 205 | enum mpol_rebind_step step); |
| 198 | extern void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new); | 206 | extern void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new); |
| 199 | extern void mpol_fix_fork_child_flag(struct task_struct *p); | 207 | extern void mpol_fix_fork_child_flag(struct task_struct *p); |
| 200 | 208 | ||
| @@ -308,7 +316,8 @@ static inline void numa_default_policy(void) | |||
| 308 | } | 316 | } |
| 309 | 317 | ||
| 310 | static inline void mpol_rebind_task(struct task_struct *tsk, | 318 | static inline void mpol_rebind_task(struct task_struct *tsk, |
| 311 | const nodemask_t *new) | 319 | const nodemask_t *new, |
| 320 | enum mpol_rebind_step step) | ||
| 312 | { | 321 | { |
| 313 | } | 322 | } |
| 314 | 323 | ||
