Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 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 27 28 29
30 1 2 3 4 5 6


mempolicy.h
01: #ifndef _LINUX_MEMPOLICY_H
02: #define _LINUX_MEMPOLICY_H 1
03: 
04: #include <linux/errno.h>
05: 
06: /*
07:  * NUMA memory policies for Linux.
08:  * Copyright 2003,2004 Andi Kleen SuSE Labs
09:  */
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
65: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/