diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-10-30 03:20:56 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-10-30 03:20:56 -0400 |
| commit | 53279f36dccffc26ff536003fd6bb97cc21c3b82 (patch) | |
| tree | 9d16e497c0e4158c7c054c479bd0e9ff0388d7bb /include/uapi/linux/mempolicy.h | |
| parent | a6e8c0a25377e27958b11b20e1927885ae7c9857 (diff) | |
| parent | 8f0d8163b50e01f398b14bcd4dc039ac5ab18d64 (diff) | |
Merge tag 'v3.7-rc3' into next to sync up with recent USB and MFD changes
Diffstat (limited to 'include/uapi/linux/mempolicy.h')
| -rw-r--r-- | include/uapi/linux/mempolicy.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/include/uapi/linux/mempolicy.h b/include/uapi/linux/mempolicy.h new file mode 100644 index 000000000000..23e62e0537e2 --- /dev/null +++ b/include/uapi/linux/mempolicy.h | |||
| @@ -0,0 +1,64 @@ | |||
| 1 | /* | ||
| 2 | * NUMA memory policies for Linux. | ||
| 3 | * Copyright 2003,2004 Andi Kleen SuSE Labs | ||
| 4 | */ | ||
| 5 | #ifndef _UAPI_LINUX_MEMPOLICY_H | ||
| 6 | #define _UAPI_LINUX_MEMPOLICY_H | ||
| 7 | |||
| 8 | #include <linux/errno.h> | ||
| 9 | |||
| 10 | |||
| 11 | /* | ||
| 12 | * Both the MPOL_* mempolicy mode and the MPOL_F_* optional mode flags are | ||
| 13 | * passed by the user to either set_mempolicy() or mbind() in an 'int' actual. | ||
| 14 | * The MPOL_MODE_FLAGS macro determines the legal set of optional mode flags. | ||
| 15 | */ | ||
| 16 | |||
| 17 | /* Policies */ | ||
| 18 | enum { | ||
| 19 | MPOL_DEFAULT, | ||
| 20 | MPOL_PREFERRED, | ||
| 21 | MPOL_BIND, | ||
| 22 | MPOL_INTERLEAVE, | ||
| 23 | MPOL_MAX, /* always last member of enum */ | ||
| 24 | }; | ||
| 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 | |||
| 33 | /* Flags for set_mempolicy */ | ||
| 34 | #define MPOL_F_STATIC_NODES (1 << 15) | ||
| 35 | #define MPOL_F_RELATIVE_NODES (1 << 14) | ||
| 36 | |||
| 37 | /* | ||
| 38 | * MPOL_MODE_FLAGS is the union of all possible optional mode flags passed to | ||
| 39 | * either set_mempolicy() or mbind(). | ||
| 40 | */ | ||
| 41 | #define MPOL_MODE_FLAGS (MPOL_F_STATIC_NODES | MPOL_F_RELATIVE_NODES) | ||
| 42 | |||
| 43 | /* Flags for get_mempolicy */ | ||
| 44 | #define MPOL_F_NODE (1<<0) /* return next IL mode instead of node mask */ | ||
| 45 | #define MPOL_F_ADDR (1<<1) /* look up vma using address */ | ||
| 46 | #define MPOL_F_MEMS_ALLOWED (1<<2) /* return allowed memories */ | ||
| 47 | |||
| 48 | /* Flags for mbind */ | ||
| 49 | #define MPOL_MF_STRICT (1<<0) /* Verify existing pages in the mapping */ | ||
| 50 | #define MPOL_MF_MOVE (1<<1) /* Move pages owned by this process to conform to mapping */ | ||
| 51 | #define MPOL_MF_MOVE_ALL (1<<2) /* Move every page to conform to mapping */ | ||
| 52 | #define MPOL_MF_INTERNAL (1<<3) /* Internal flags start here */ | ||
| 53 | |||
| 54 | /* | ||
| 55 | * Internal flags that share the struct mempolicy flags word with | ||
| 56 | * "mode flags". These flags are allocated from bit 0 up, as they | ||
| 57 | * are never OR'ed into the mode in mempolicy API arguments. | ||
| 58 | */ | ||
| 59 | #define MPOL_F_SHARED (1 << 0) /* identify shared policies */ | ||
| 60 | #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */ | ||
| 61 | #define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */ | ||
| 62 | |||
| 63 | |||
| 64 | #endif /* _UAPI_LINUX_MEMPOLICY_H */ | ||
