OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[linuxjm/LDP_man-pages.git] / po4a / numa / po / numa.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2015-02-04 23:33+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man2/get_mempolicy.2:27
21 #, no-wrap
22 msgid "GET_MEMPOLICY"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man2/get_mempolicy.2:27
27 #, no-wrap
28 msgid "2008-08-15"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man2/get_mempolicy.2:27 build/C/man2/getcpu.2:12 build/C/man2/mbind.2:45 build/C/man2/migrate_pages.2:18 build/C/man2/move_pages.2:19 build/C/man7/numa.7:29 build/C/man2/set_mempolicy.2:27
33 #, no-wrap
34 msgid "Linux"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man2/get_mempolicy.2:27 build/C/man2/getcpu.2:12 build/C/man2/mbind.2:45 build/C/man2/migrate_pages.2:18 build/C/man2/move_pages.2:19 build/C/man7/numa.7:29 build/C/man2/set_mempolicy.2:27
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man2/get_mempolicy.2:28 build/C/man2/getcpu.2:13 build/C/man2/mbind.2:46 build/C/man2/migrate_pages.2:19 build/C/man2/move_pages.2:20 build/C/man7/numa.7:30 build/C/man2/set_mempolicy.2:28
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man2/get_mempolicy.2:30
51 msgid "get_mempolicy - retrieve NUMA memory policy for a process"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man2/get_mempolicy.2:30 build/C/man2/getcpu.2:15 build/C/man2/mbind.2:48 build/C/man2/migrate_pages.2:21 build/C/man2/move_pages.2:22 build/C/man2/set_mempolicy.2:30
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man2/get_mempolicy.2:32
62 msgid "B<#include E<lt>numaif.hE<gt>>"
63 msgstr ""
64
65 #. type: Plain text
66 #: build/C/man2/get_mempolicy.2:37
67 #, no-wrap
68 msgid ""
69 "B<int get_mempolicy(int *>I<mode>B<, unsigned long *>I<nodemask>B<,>\n"
70 "B<                  unsigned long >I<maxnode>B<, unsigned long "
71 ">I<addr>B<,>\n"
72 "B<                  unsigned long >I<flags>B<);>\n"
73 msgstr ""
74
75 #. type: Plain text
76 #: build/C/man2/get_mempolicy.2:39 build/C/man2/mbind.2:57 build/C/man2/set_mempolicy.2:38
77 #, no-wrap
78 msgid "Link with I<-lnuma>.\n"
79 msgstr ""
80
81 #. type: SH
82 #: build/C/man2/get_mempolicy.2:40 build/C/man2/getcpu.2:25 build/C/man2/mbind.2:58 build/C/man2/migrate_pages.2:31 build/C/man2/move_pages.2:31 build/C/man7/numa.7:32 build/C/man2/set_mempolicy.2:39
83 #, no-wrap
84 msgid "DESCRIPTION"
85 msgstr ""
86
87 #. type: Plain text
88 #: build/C/man2/get_mempolicy.2:45
89 msgid ""
90 "B<get_mempolicy>()  retrieves the NUMA policy of the calling process or of a "
91 "memory address, depending on the setting of I<flags>."
92 msgstr ""
93
94 #. type: Plain text
95 #: build/C/man2/get_mempolicy.2:50 build/C/man2/set_mempolicy.2:54
96 msgid ""
97 "A NUMA machine has different memory controllers with different distances to "
98 "specific CPUs.  The memory policy defines from which node memory is "
99 "allocated for the process."
100 msgstr ""
101
102 #. type: Plain text
103 #: build/C/man2/get_mempolicy.2:67
104 msgid ""
105 "If I<flags> is specified as 0, then information about the calling process's "
106 "default policy (as set by B<set_mempolicy>(2))  is returned.  The policy "
107 "returned [I<mode> and I<nodemask>] may be used to restore the process's "
108 "policy to its state at the time of the call to B<get_mempolicy>()  using "
109 "B<set_mempolicy>(2)."
110 msgstr ""
111
112 #. type: Plain text
113 #: build/C/man2/get_mempolicy.2:89
114 msgid ""
115 "If I<flags> specifies B<MPOL_F_MEMS_ALLOWED> (available since Linux 2.6.24), "
116 "the I<mode> argument is ignored and the set of nodes [memories] that the "
117 "process is allowed to specify in subsequent calls to B<mbind>(2)  or "
118 "B<set_mempolicy>(2)  [in the absence of any I<mode flags>] is returned in "
119 "I<nodemask>.  It is not permitted to combine B<MPOL_F_MEMS_ALLOWED> with "
120 "either B<MPOL_F_ADDR> or B<MPOL_F_NODE>."
121 msgstr ""
122
123 #. type: Plain text
124 #: build/C/man2/get_mempolicy.2:103
125 msgid ""
126 "If I<flags> specifies B<MPOL_F_ADDR>, then information is returned about the "
127 "policy governing the memory address given in I<addr>.  This policy may be "
128 "different from the process's default policy if B<mbind>(2)  or one of the "
129 "helper functions described in B<numa>(3)  has been used to establish a "
130 "policy for the memory range containing I<addr>."
131 msgstr ""
132
133 #. type: Plain text
134 #: build/C/man2/get_mempolicy.2:124
135 msgid ""
136 "If the I<mode> argument is not NULL, then B<get_mempolicy>()  will store the "
137 "policy mode and any optional I<mode flags> of the requested NUMA policy in "
138 "the location pointed to by this argument.  If I<nodemask> is not NULL, then "
139 "the nodemask associated with the policy will be stored in the location "
140 "pointed to by this argument.  I<maxnode> specifies the number of node IDs "
141 "that can be stored into I<nodemask>\\(emthat is, the maximum node ID plus "
142 "one.  The value specified by I<maxnode> is always rounded to a multiple of "
143 "I<sizeof(unsigned long)>."
144 msgstr ""
145
146 #. type: Plain text
147 #: build/C/man2/get_mempolicy.2:141
148 msgid ""
149 "If I<flags> specifies both B<MPOL_F_NODE> and B<MPOL_F_ADDR>, "
150 "B<get_mempolicy>()  will return the node ID of the node on which the address "
151 "I<addr> is allocated into the location pointed to by I<mode>.  If no page "
152 "has yet been allocated for the specified address, B<get_mempolicy>()  will "
153 "allocate a page as if the process had performed a read [load] access to that "
154 "address, and return the ID of the node where that page was allocated."
155 msgstr ""
156
157 #.  Note:  code returns next interleave node via 'mode' argument -Lee Schermerhorn
158 #. type: Plain text
159 #: build/C/man2/get_mempolicy.2:166
160 msgid ""
161 "If I<flags> specifies B<MPOL_F_NODE>, but not B<MPOL_F_ADDR>, and the "
162 "process's current policy is B<MPOL_INTERLEAVE>, then B<get_mempolicy>()  "
163 "will return in the location pointed to by a non-NULL I<mode> argument, the "
164 "node ID of the next node that will be used for interleaving of internal "
165 "kernel pages allocated on behalf of the process.  These allocations include "
166 "pages for memory-mapped files in process memory ranges mapped using the "
167 "B<mmap>(2)  call with the B<MAP_PRIVATE> flag for read accesses, and in "
168 "memory ranges mapped with the B<MAP_SHARED> flag for all accesses."
169 msgstr ""
170
171 #. type: Plain text
172 #: build/C/man2/get_mempolicy.2:168
173 msgid "Other flag values are reserved."
174 msgstr ""
175
176 #. type: Plain text
177 #: build/C/man2/get_mempolicy.2:171
178 msgid "For an overview of the possible policies see B<set_mempolicy>(2)."
179 msgstr ""
180
181 #. type: SH
182 #: build/C/man2/get_mempolicy.2:171 build/C/man2/getcpu.2:61 build/C/man2/mbind.2:309 build/C/man2/migrate_pages.2:88 build/C/man2/move_pages.2:143 build/C/man2/set_mempolicy.2:220
183 #, no-wrap
184 msgid "RETURN VALUE"
185 msgstr ""
186
187 #. type: Plain text
188 #: build/C/man2/get_mempolicy.2:178
189 msgid ""
190 "On success, B<get_mempolicy>()  returns 0; on error, -1 is returned and "
191 "I<errno> is set to indicate the error."
192 msgstr ""
193
194 #. type: SH
195 #: build/C/man2/get_mempolicy.2:178 build/C/man2/getcpu.2:66 build/C/man2/mbind.2:317 build/C/man2/migrate_pages.2:96 build/C/man2/move_pages.2:152 build/C/man2/set_mempolicy.2:227
196 #, no-wrap
197 msgid "ERRORS"
198 msgstr ""
199
200 #. type: TP
201 #: build/C/man2/get_mempolicy.2:179 build/C/man2/getcpu.2:67 build/C/man2/mbind.2:319 build/C/man2/move_pages.2:161 build/C/man2/set_mempolicy.2:228
202 #, no-wrap
203 msgid "B<EFAULT>"
204 msgstr ""
205
206 #. type: Plain text
207 #: build/C/man2/get_mempolicy.2:186 build/C/man2/set_mempolicy.2:235
208 msgid ""
209 "Part of all of the memory range specified by I<nodemask> and I<maxnode> "
210 "points outside your accessible address space."
211 msgstr ""
212
213 #. type: TP
214 #: build/C/man2/get_mempolicy.2:186 build/C/man2/mbind.2:330 build/C/man2/move_pages.2:164 build/C/man2/set_mempolicy.2:235
215 #, no-wrap
216 msgid "B<EINVAL>"
217 msgstr ""
218
219 #. type: Plain text
220 #: build/C/man2/get_mempolicy.2:230
221 msgid ""
222 "The value specified by I<maxnode> is less than the number of node IDs "
223 "supported by the system.  Or I<flags> specified values other than "
224 "B<MPOL_F_NODE> or B<MPOL_F_ADDR>; or I<flags> specified B<MPOL_F_ADDR> and "
225 "I<addr> is NULL, or I<flags> did not specify B<MPOL_F_ADDR> and I<addr> is "
226 "not NULL.  Or, I<flags> specified B<MPOL_F_NODE> but not B<MPOL_F_ADDR> and "
227 "the current process policy is not B<MPOL_INTERLEAVE>.  Or, I<flags> "
228 "specified B<MPOL_F_MEMS_ALLOWED> with either B<MPOL_F_ADDR> or "
229 "B<MPOL_F_NODE>.  (And there are other B<EINVAL> cases.)"
230 msgstr ""
231
232 #. type: SH
233 #: build/C/man2/get_mempolicy.2:230 build/C/man2/getcpu.2:70 build/C/man2/mbind.2:402 build/C/man2/migrate_pages.2:112 build/C/man2/move_pages.2:192 build/C/man2/set_mempolicy.2:275
234 #, no-wrap
235 msgid "VERSIONS"
236 msgstr ""
237
238 #. type: Plain text
239 #: build/C/man2/get_mempolicy.2:234
240 msgid ""
241 "The B<get_mempolicy>()  system call was added to the Linux kernel in version "
242 "2.6.7."
243 msgstr ""
244
245 #. type: SH
246 #: build/C/man2/get_mempolicy.2:234 build/C/man2/getcpu.2:73 build/C/man2/mbind.2:406 build/C/man2/migrate_pages.2:116 build/C/man2/move_pages.2:195 build/C/man7/numa.7:148 build/C/man2/set_mempolicy.2:279
247 #, no-wrap
248 msgid "CONFORMING TO"
249 msgstr ""
250
251 #. type: Plain text
252 #: build/C/man2/get_mempolicy.2:236 build/C/man2/mbind.2:408 build/C/man2/migrate_pages.2:118 build/C/man2/move_pages.2:197 build/C/man2/set_mempolicy.2:281
253 msgid "This system call is Linux-specific."
254 msgstr ""
255
256 #. type: SH
257 #: build/C/man2/get_mempolicy.2:236 build/C/man2/getcpu.2:76 build/C/man2/mbind.2:408 build/C/man2/migrate_pages.2:118 build/C/man2/move_pages.2:197 build/C/man7/numa.7:150 build/C/man2/set_mempolicy.2:281
258 #, no-wrap
259 msgid "NOTES"
260 msgstr ""
261
262 #. type: Plain text
263 #: build/C/man2/get_mempolicy.2:239 build/C/man2/mbind.2:411 build/C/man2/migrate_pages.2:121 build/C/man2/move_pages.2:200 build/C/man2/set_mempolicy.2:289
264 msgid "For information on library support, see B<numa>(7)."
265 msgstr ""
266
267 #. type: SH
268 #: build/C/man2/get_mempolicy.2:239 build/C/man2/getcpu.2:139 build/C/man2/mbind.2:460 build/C/man2/migrate_pages.2:148 build/C/man2/move_pages.2:227 build/C/man7/numa.7:183 build/C/man2/set_mempolicy.2:289
269 #, no-wrap
270 msgid "SEE ALSO"
271 msgstr ""
272
273 #. type: Plain text
274 #: build/C/man2/get_mempolicy.2:247
275 msgid ""
276 "B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<set_mempolicy>(2), B<numa>(3), "
277 "B<numa>(7), B<numactl>(8)"
278 msgstr ""
279
280 #. type: SH
281 #: build/C/man2/get_mempolicy.2:247 build/C/man2/getcpu.2:145 build/C/man2/mbind.2:471 build/C/man2/migrate_pages.2:161 build/C/man2/move_pages.2:237 build/C/man7/numa.7:191 build/C/man2/set_mempolicy.2:298
282 #, no-wrap
283 msgid "COLOPHON"
284 msgstr ""
285
286 #. type: Plain text
287 #: build/C/man2/get_mempolicy.2:255 build/C/man2/getcpu.2:153 build/C/man2/mbind.2:479 build/C/man2/migrate_pages.2:169 build/C/man2/move_pages.2:245 build/C/man7/numa.7:199 build/C/man2/set_mempolicy.2:306
288 msgid ""
289 "This page is part of release 3.79 of the Linux I<man-pages> project.  A "
290 "description of the project, information about reporting bugs, and the latest "
291 "version of this page, can be found at "
292 "\\%http://www.kernel.org/doc/man-pages/."
293 msgstr ""
294
295 #. type: TH
296 #: build/C/man2/getcpu.2:12
297 #, no-wrap
298 msgid "GETCPU"
299 msgstr ""
300
301 #. type: TH
302 #: build/C/man2/getcpu.2:12
303 #, no-wrap
304 msgid "2013-04-03"
305 msgstr ""
306
307 #. type: Plain text
308 #: build/C/man2/getcpu.2:15
309 msgid "getcpu - determine CPU and NUMA node on which the calling thread is running"
310 msgstr ""
311
312 #. type: Plain text
313 #: build/C/man2/getcpu.2:18
314 #, no-wrap
315 msgid "B<#include E<lt>linux/getcpu.hE<gt>>\n"
316 msgstr ""
317
318 #. type: Plain text
319 #: build/C/man2/getcpu.2:21
320 #, no-wrap
321 msgid ""
322 "B<int getcpu(unsigned *>I<cpu>B<, unsigned *>I<node>B<, struct getcpu_cache "
323 "*>I<tcache>B<);>\n"
324 msgstr ""
325
326 #. type: Plain text
327 #: build/C/man2/getcpu.2:25
328 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
329 msgstr ""
330
331 #. type: Plain text
332 #: build/C/man2/getcpu.2:42
333 msgid ""
334 "The B<getcpu>()  system call identifies the processor and node on which the "
335 "calling thread or process is currently running and writes them into the "
336 "integers pointed to by the I<cpu> and I<node> arguments.  The processor is a "
337 "unique small integer identifying a CPU.  The node is a unique small "
338 "identifier identifying a NUMA node.  When either I<cpu> or I<node> is NULL "
339 "nothing is written to the respective pointer."
340 msgstr ""
341
342 #. type: Plain text
343 #: build/C/man2/getcpu.2:46
344 msgid ""
345 "The third argument to this system call is nowadays unused, and should be "
346 "specified as NULL unless portability to Linux 2.6.23 or earlier is required "
347 "(see NOTES)."
348 msgstr ""
349
350 #. type: Plain text
351 #: build/C/man2/getcpu.2:61
352 msgid ""
353 "The information placed in I<cpu> is guaranteed to be current only at the "
354 "time of the call: unless the CPU affinity has been fixed using "
355 "B<sched_setaffinity>(2), the kernel might change the CPU at any time.  "
356 "(Normally this does not happen because the scheduler tries to minimize "
357 "movements between CPUs to keep caches hot, but it is possible.)  The caller "
358 "must allow for the possibility that the information returned in I<cpu> and "
359 "I<node> is no longer current by the time the call returns."
360 msgstr ""
361
362 #. type: Plain text
363 #: build/C/man2/getcpu.2:66
364 msgid ""
365 "On success, 0 is returned.  On error, -1 is returned, and I<errno> is set "
366 "appropriately."
367 msgstr ""
368
369 #. type: Plain text
370 #: build/C/man2/getcpu.2:70
371 msgid "Arguments point outside the calling process's address space."
372 msgstr ""
373
374 #. type: Plain text
375 #: build/C/man2/getcpu.2:73
376 msgid "B<getcpu>()  was added in kernel 2.6.19 for x86_64 and i386."
377 msgstr ""
378
379 #. type: Plain text
380 #: build/C/man2/getcpu.2:76
381 msgid "B<getcpu>()  is Linux-specific."
382 msgstr ""
383
384 #. type: Plain text
385 #: build/C/man2/getcpu.2:82
386 msgid ""
387 "Linux makes a best effort to make this call as fast possible.  The intention "
388 "of B<getcpu>()  is to allow programs to make optimizations with per-CPU data "
389 "or for NUMA optimization."
390 msgstr ""
391
392 #. type: Plain text
393 #: build/C/man2/getcpu.2:88
394 msgid ""
395 "Glibc does not provide a wrapper for this system call; call it using "
396 "B<syscall>(2); or use B<sched_getcpu>(3)  instead."
397 msgstr ""
398
399 #.  commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1
400 #.  Author: Ingo Molnar <mingo@elte.hu>
401 #.  Date:   Wed Nov 7 18:37:48 2007 +0100
402 #.  x86: ignore the sys_getcpu() tcache parameter
403 #
404 #.  ===== Before kernel 2.6.24: =====
405 #.  .I tcache
406 #.  is a pointer to a
407 #.  .IR "struct getcpu_cache"
408 #.  that is used as a cache by
409 #.  .BR getcpu ().
410 #.  The caller should put the cache into a thread-local variable
411 #.  if the process is multithreaded,
412 #.  because the cache cannot be shared between different threads.
413 #.  .I tcache
414 #.  can be NULL.
415 #.  If it is not NULL
416 #.  .BR getcpu ()
417 #.  will use it to speed up operation.
418 #.  The information inside the cache is private to the system call
419 #.  and should not be accessed by the user program.
420 #.  The information placed in the cache can change between kernel releases.
421 #
422 #.  When no cache is specified
423 #.  .BR getcpu ()
424 #.  will be slower,
425 #.  but always retrieve the current CPU and node information.
426 #.  With a cache
427 #.  .BR getcpu ()
428 #.  is faster.
429 #.  However, the cached information is updated only once per jiffy (see
430 #.  .BR time (7)).
431 #.  This means that the information could theoretically be out of date,
432 #.  although in practice the scheduler's attempt to maintain
433 #.  soft CPU affinity means that the information is unlikely to change
434 #.  over the course of the caching interval.
435 #. type: Plain text
436 #: build/C/man2/getcpu.2:139
437 msgid ""
438 "The I<tcache> argument is unused since Linux 2.6.24.  In earlier kernels, if "
439 "this argument was non-NULL, then it specified a pointer to a "
440 "caller-allocated buffer in thread-local storage that was used to provide a "
441 "caching mechanism for B<getcpu>().  Use of the cache could speed B<getcpu>()  "
442 "calls, at the cost that there was a very small chance that the returned "
443 "information would be out of date.  The caching mechanism was considered to "
444 "cause problems when migrating threads between CPUs, and so the argument is "
445 "now ignored."
446 msgstr ""
447
448 #. type: Plain text
449 #: build/C/man2/getcpu.2:145
450 msgid ""
451 "B<mbind>(2), B<sched_setaffinity>(2), B<set_mempolicy>(2), "
452 "B<sched_getcpu>(3), B<cpuset>(7)"
453 msgstr ""
454
455 #. type: TH
456 #: build/C/man2/mbind.2:45
457 #, no-wrap
458 msgid "MBIND"
459 msgstr ""
460
461 #. type: TH
462 #: build/C/man2/mbind.2:45
463 #, no-wrap
464 msgid "2015-01-22"
465 msgstr ""
466
467 #. type: Plain text
468 #: build/C/man2/mbind.2:48
469 msgid "mbind - set memory policy for a memory range"
470 msgstr ""
471
472 #. type: Plain text
473 #: build/C/man2/mbind.2:51 build/C/man2/migrate_pages.2:24 build/C/man2/move_pages.2:25 build/C/man2/set_mempolicy.2:33
474 #, no-wrap
475 msgid "B<#include E<lt>numaif.hE<gt>>\n"
476 msgstr ""
477
478 #. type: Plain text
479 #: build/C/man2/mbind.2:55
480 #, no-wrap
481 msgid ""
482 "B<long mbind(void *>I<addr>B<, unsigned long >I<len>B<, int >I<mode>B<,>\n"
483 "B<           const unsigned long *>I<nodemask>B<, unsigned long "
484 ">I<maxnode>B<,>\n"
485 "B<           unsigned >I<flags>B<);>\n"
486 msgstr ""
487
488 #. type: Plain text
489 #: build/C/man2/mbind.2:68
490 msgid ""
491 "B<mbind>()  sets the NUMA memory policy, which consists of a policy mode and "
492 "zero or more nodes, for the memory range starting with I<addr> and "
493 "continuing for I<len> bytes.  The memory policy defines from which node "
494 "memory is allocated."
495 msgstr ""
496
497 #. type: Plain text
498 #: build/C/man2/mbind.2:90
499 msgid ""
500 "If the memory range specified by the I<addr> and I<len> arguments includes "
501 "an \"anonymous\" region of memory\\(emthat is a region of memory created "
502 "using the B<mmap>(2)  system call with the B<MAP_ANONYMOUS>\\(emor a "
503 "memory-mapped file, mapped using the B<mmap>(2)  system call with the "
504 "B<MAP_PRIVATE> flag, pages will be allocated only according to the specified "
505 "policy when the application writes [stores] to the page.  For anonymous "
506 "regions, an initial read access will use a shared page in the kernel "
507 "containing all zeros.  For a file mapped with B<MAP_PRIVATE>, an initial "
508 "read access will allocate pages according to the process policy of the "
509 "process that causes the page to be allocated.  This may not be the process "
510 "that called B<mbind>()."
511 msgstr ""
512
513 #. type: Plain text
514 #: build/C/man2/mbind.2:98
515 msgid ""
516 "The specified policy will be ignored for any B<MAP_SHARED> mappings in the "
517 "specified memory range.  Rather the pages will be allocated according to the "
518 "process policy of the process that caused the page to be allocated.  Again, "
519 "this may not be the process that called B<mbind>()."
520 msgstr ""
521
522 #. type: Plain text
523 #: build/C/man2/mbind.2:115
524 msgid ""
525 "If the specified memory range includes a shared memory region created using "
526 "the B<shmget>(2)  system call and attached using the B<shmat>(2)  system "
527 "call, pages allocated for the anonymous or shared memory region will be "
528 "allocated according to the policy specified, regardless which process "
529 "attached to the shared memory segment causes the allocation.  If, however, "
530 "the shared memory region was created with the B<SHM_HUGETLB> flag, the huge "
531 "pages will be allocated according to the policy specified only if the page "
532 "allocation is caused by the process that calls B<mbind>()  for that region."
533 msgstr ""
534
535 #. type: Plain text
536 #: build/C/man2/mbind.2:126
537 msgid ""
538 "By default, B<mbind>()  has an effect only for new allocations; if the pages "
539 "inside the range have been already touched before setting the policy, then "
540 "the policy has no effect.  This default behavior may be overridden by the "
541 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> flags described below."
542 msgstr ""
543
544 #. type: Plain text
545 #: build/C/man2/mbind.2:141
546 msgid ""
547 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
548 "B<MPOL_INTERLEAVE>, or B<MPOL_PREFERRED>.  All policy modes except "
549 "B<MPOL_DEFAULT> require the caller to specify via the I<nodemask> argument, "
550 "the node or nodes to which the mode applies."
551 msgstr ""
552
553 #. type: Plain text
554 #: build/C/man2/mbind.2:149
555 msgid ""
556 "The I<mode> argument may also include an optional I<mode flag >.  The "
557 "supported I<mode flags> are:"
558 msgstr ""
559
560 #. type: TP
561 #: build/C/man2/mbind.2:149
562 #, no-wrap
563 msgid "B<MPOL_F_STATIC_NODES> (since Linux-2.6.26)"
564 msgstr ""
565
566 #. type: Plain text
567 #: build/C/man2/mbind.2:159
568 msgid ""
569 "A nonempty I<nodemask> specifies physical node ids.  Linux does not remap "
570 "the I<nodemask> when the process moves to a different cpuset context, nor "
571 "when the set of nodes allowed by the process's current cpuset context "
572 "changes."
573 msgstr ""
574
575 #. type: TP
576 #: build/C/man2/mbind.2:159
577 #, no-wrap
578 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux-2.6.26)"
579 msgstr ""
580
581 #. type: Plain text
582 #: build/C/man2/mbind.2:165 build/C/man2/set_mempolicy.2:113
583 msgid ""
584 "A nonempty I<nodemask> specifies node ids that are relative to the set of "
585 "node ids allowed by the process's current cpuset."
586 msgstr ""
587
588 #. type: Plain text
589 #: build/C/man2/mbind.2:193
590 msgid ""
591 "I<nodemask> points to a bit mask of nodes containing up to I<maxnode> bits.  "
592 "The bit mask size is rounded to the next multiple of I<sizeof(unsigned "
593 "long)>, but the kernel will use bits only up to I<maxnode>.  A NULL value of "
594 "I<nodemask> or a I<maxnode> value of zero specifies the empty set of nodes.  "
595 "If the value of I<maxnode> is zero, the I<nodemask> argument is ignored.  "
596 "Where a I<nodemask> is required, it must contain at least one node that is "
597 "on-line, allowed by the process's current cpuset context [unless the "
598 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory."
599 msgstr ""
600
601 #. type: Plain text
602 #: build/C/man2/mbind.2:215
603 msgid ""
604 "The B<MPOL_DEFAULT> mode requests that any nondefault policy be removed, "
605 "restoring default behavior.  When applied to a range of memory via "
606 "B<mbind>(), this means to use the process policy, which may have been set "
607 "with B<set_mempolicy>(2).  If the mode of the process policy is also "
608 "B<MPOL_DEFAULT>, the system-wide default policy will be used.  The "
609 "system-wide default policy allocates pages on the node of the CPU that "
610 "triggers the allocation.  For B<MPOL_DEFAULT>, the I<nodemask> and "
611 "I<maxnode> arguments must be specify the empty set of nodes."
612 msgstr ""
613
614 #. type: Plain text
615 #: build/C/man2/mbind.2:232
616 msgid ""
617 "The B<MPOL_BIND> mode specifies a strict policy that restricts memory "
618 "allocation to the nodes specified in I<nodemask>.  If I<nodemask> specifies "
619 "more than one node, page allocations will come from the node with the lowest "
620 "numeric node ID first, until that node contains no free memory.  Allocations "
621 "will then come from the node with the next highest node ID specified in "
622 "I<nodemask> and so forth, until none of the specified nodes contain free "
623 "memory.  Pages will not be allocated from any node not specified in the "
624 "I<nodemask>."
625 msgstr ""
626
627 #. type: Plain text
628 #: build/C/man2/mbind.2:245
629 msgid ""
630 "The B<MPOL_INTERLEAVE> mode specifies that page allocations be interleaved "
631 "across the set of nodes specified in I<nodemask>.  This optimizes for "
632 "bandwidth instead of latency by spreading out pages and memory accesses to "
633 "those pages across multiple nodes.  To be effective the memory area should "
634 "be fairly large, at least 1MB or bigger with a fairly uniform access "
635 "pattern.  Accesses to a single page of the area will still be limited to the "
636 "memory bandwidth of a single node."
637 msgstr ""
638
639 #. type: Plain text
640 #: build/C/man2/mbind.2:264
641 msgid ""
642 "B<MPOL_PREFERRED> sets the preferred node for allocation.  The kernel will "
643 "try to allocate pages from this node first and fall back to other nodes if "
644 "the preferred nodes is low on free memory.  If I<nodemask> specifies more "
645 "than one node ID, the first node in the mask will be selected as the "
646 "preferred node.  If the I<nodemask> and I<maxnode> arguments specify the "
647 "empty set, then the memory is allocated on the node of the CPU that "
648 "triggered the allocation.  This is the only way to specify \"local "
649 "allocation\" for a range of memory via B<mbind>()."
650 msgstr ""
651
652 #.  According to the kernel code, the following is not true
653 #.  --Lee Schermerhorn
654 #.  In 2.6.16 or later the kernel will also try to move pages
655 #.  to the requested node with this flag.
656 #. type: Plain text
657 #: build/C/man2/mbind.2:280
658 msgid ""
659 "If B<MPOL_MF_STRICT> is passed in I<flags> and I<mode> is not "
660 "B<MPOL_DEFAULT>, then the call will fail with the error B<EIO> if the "
661 "existing pages in the memory range don't follow the policy."
662 msgstr ""
663
664 #. type: Plain text
665 #: build/C/man2/mbind.2:293
666 msgid ""
667 "If B<MPOL_MF_MOVE> is specified in I<flags>, then the kernel will attempt to "
668 "move all the existing pages in the memory range so that they follow the "
669 "policy.  Pages that are shared with other processes will not be moved.  If "
670 "B<MPOL_MF_STRICT> is also specified, then the call will fail with the error "
671 "B<EIO> if some pages could not be moved."
672 msgstr ""
673
674 #.  ---------------------------------------------------------------
675 #. type: Plain text
676 #: build/C/man2/mbind.2:309
677 msgid ""
678 "If B<MPOL_MF_MOVE_ALL> is passed in I<flags>, then the kernel will attempt "
679 "to move all existing pages in the memory range regardless of whether other "
680 "processes use the pages.  The calling process must be privileged "
681 "(B<CAP_SYS_NICE>)  to use this flag.  If B<MPOL_MF_STRICT> is also "
682 "specified, then the call will fail with the error B<EIO> if some pages could "
683 "not be moved."
684 msgstr ""
685
686 #.  ---------------------------------------------------------------
687 #. type: Plain text
688 #: build/C/man2/mbind.2:317
689 msgid ""
690 "On success, B<mbind>()  returns 0; on error, -1 is returned and I<errno> is "
691 "set to indicate the error."
692 msgstr ""
693
694 #. type: Plain text
695 #: build/C/man2/mbind.2:330
696 msgid ""
697 "Part or all of the memory range specified by I<nodemask> and I<maxnode> "
698 "points outside your accessible address space.  Or, there was an unmapped "
699 "hole in the specified memory range specified by I<addr> and I<len>."
700 msgstr ""
701
702 #.  As at 2.6.23, this limit is "a page worth of bits", e.g.,
703 #.  8 * 4096 bits, assuming a 4kB page size.
704 #. type: Plain text
705 #: build/C/man2/mbind.2:378
706 msgid ""
707 "An invalid value was specified for I<flags> or I<mode>; or I<addr + len> was "
708 "less than I<addr>; or I<addr> is not a multiple of the system page size.  "
709 "Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> specified a nonempty set; or "
710 "I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> is empty.  Or, "
711 "I<maxnode> exceeds a kernel-imposed limit.  Or, I<nodemask> specifies one or "
712 "more node IDs that are greater than the maximum supported node ID.  Or, none "
713 "of the node IDs specified by I<nodemask> are on-line and allowed by the "
714 "process's current cpuset context, or none of the specified nodes contain "
715 "memory.  Or, the I<mode> argument specified both B<MPOL_F_STATIC_NODES> and "
716 "B<MPOL_F_RELATIVE_NODES>."
717 msgstr ""
718
719 #. type: TP
720 #: build/C/man2/mbind.2:378
721 #, no-wrap
722 msgid "B<EIO>"
723 msgstr ""
724
725 #. type: Plain text
726 #: build/C/man2/mbind.2:389
727 msgid ""
728 "B<MPOL_MF_STRICT> was specified and an existing page was already on a node "
729 "that does not follow the policy; or B<MPOL_MF_MOVE> or B<MPOL_MF_MOVE_ALL> "
730 "was specified and the kernel was unable to move all existing pages in the "
731 "range."
732 msgstr ""
733
734 #. type: TP
735 #: build/C/man2/mbind.2:389 build/C/man2/set_mempolicy.2:272
736 #, no-wrap
737 msgid "B<ENOMEM>"
738 msgstr ""
739
740 #. type: Plain text
741 #: build/C/man2/mbind.2:392 build/C/man2/set_mempolicy.2:275
742 msgid "Insufficient kernel memory was available."
743 msgstr ""
744
745 #. type: TP
746 #: build/C/man2/mbind.2:392 build/C/man2/migrate_pages.2:97 build/C/man2/move_pages.2:180
747 #, no-wrap
748 msgid "B<EPERM>"
749 msgstr ""
750
751 #.  ---------------------------------------------------------------
752 #. type: Plain text
753 #: build/C/man2/mbind.2:402
754 msgid ""
755 "The I<flags> argument included the B<MPOL_MF_MOVE_ALL> flag and the caller "
756 "does not have the B<CAP_SYS_NICE> privilege."
757 msgstr ""
758
759 #. type: Plain text
760 #: build/C/man2/mbind.2:406
761 msgid "The B<mbind>()  system call was added to the Linux kernel in version 2.6.7."
762 msgstr ""
763
764 #. type: Plain text
765 #: build/C/man2/mbind.2:416
766 msgid ""
767 "NUMA policy is not supported on a memory-mapped file range that was mapped "
768 "with the B<MAP_SHARED> flag."
769 msgstr ""
770
771 #. type: Plain text
772 #: build/C/man2/mbind.2:448
773 msgid ""
774 "The B<MPOL_DEFAULT> mode can have different effects for B<mbind>()  and "
775 "B<set_mempolicy>(2).  When B<MPOL_DEFAULT> is specified for "
776 "B<set_mempolicy>(2), the process's policy reverts to system default policy "
777 "or local allocation.  When B<MPOL_DEFAULT> is specified for a range of "
778 "memory using B<mbind>(), any pages subsequently allocated for that range "
779 "will use the process's policy, as set by B<set_mempolicy>(2).  This "
780 "effectively removes the explicit policy from the specified range, \"falling "
781 "back\" to a possibly nondefault policy.  To select explicit \"local "
782 "allocation\" for a memory range, specify a I<mode> of B<MPOL_PREFERRED> with "
783 "an empty set of nodes.  This method will work for B<set_mempolicy>(2), as "
784 "well."
785 msgstr ""
786
787 #. type: Plain text
788 #: build/C/man2/mbind.2:452
789 msgid ""
790 "Support for huge page policy was added with 2.6.16.  For interleave policy "
791 "to be effective on huge page mappings the policied memory needs to be tens "
792 "of megabytes or larger."
793 msgstr ""
794
795 #. type: Plain text
796 #: build/C/man2/mbind.2:455
797 msgid "B<MPOL_MF_STRICT> is ignored on huge page mappings."
798 msgstr ""
799
800 #. type: Plain text
801 #: build/C/man2/mbind.2:460
802 msgid ""
803 "B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> are available only on Linux 2.6.16 "
804 "and later."
805 msgstr ""
806
807 #. type: Plain text
808 #: build/C/man2/mbind.2:471
809 msgid ""
810 "B<get_mempolicy>(2), B<getcpu>(2), B<mmap>(2), B<set_mempolicy>(2), "
811 "B<shmat>(2), B<shmget>(2), B<numa>(3), B<cpuset>(7), B<numa>(7), "
812 "B<numactl>(8)"
813 msgstr ""
814
815 #. type: TH
816 #: build/C/man2/migrate_pages.2:18
817 #, no-wrap
818 msgid "MIGRATE_PAGES"
819 msgstr ""
820
821 #. type: TH
822 #: build/C/man2/migrate_pages.2:18
823 #, no-wrap
824 msgid "2012-08-01"
825 msgstr ""
826
827 #. type: Plain text
828 #: build/C/man2/migrate_pages.2:21
829 msgid "migrate_pages - move all pages in a process to another set of nodes"
830 msgstr ""
831
832 #. type: Plain text
833 #: build/C/man2/migrate_pages.2:28
834 #, no-wrap
835 msgid ""
836 "B<long migrate_pages(int >I<pid>B<, unsigned long >I<maxnode,>\n"
837 "B<                   const unsigned long *>I<old_nodes,>\n"
838 "B<                   const unsigned long *>I<new_nodes>B<);>\n"
839 msgstr ""
840
841 #. type: Plain text
842 #: build/C/man2/migrate_pages.2:31 build/C/man2/move_pages.2:31
843 msgid "Link with I<-lnuma>."
844 msgstr ""
845
846 #. type: Plain text
847 #: build/C/man2/migrate_pages.2:47
848 msgid ""
849 "B<migrate_pages>()  attempts to move all pages of the process I<pid> that "
850 "are in memory nodes I<old_nodes> to the memory nodes in I<new_nodes>.  Pages "
851 "not located in any node in I<old_nodes> will not be migrated.  As far as "
852 "possible, the kernel maintains the relative topology relationship inside "
853 "I<old_nodes> during the migration to I<new_nodes>."
854 msgstr ""
855
856 #. type: Plain text
857 #: build/C/man2/migrate_pages.2:69
858 msgid ""
859 "The I<old_nodes> and I<new_nodes> arguments are pointers to bit masks of "
860 "node numbers, with up to I<maxnode> bits in each mask.  These masks are "
861 "maintained as arrays of unsigned I<long> integers (in the last I<long> "
862 "integer, the bits beyond those specified by I<maxnode> are ignored).  The "
863 "I<maxnode> argument is the maximum node number in the bit mask plus one "
864 "(this is the same as in B<mbind>(2), but different from B<select>(2))."
865 msgstr ""
866
867 #. type: Plain text
868 #: build/C/man2/migrate_pages.2:83
869 msgid ""
870 "The I<pid> argument is the ID of the process whose pages are to be moved.  "
871 "To move pages in another process, the caller must be privileged "
872 "(B<CAP_SYS_NICE>)  or the real or effective user ID of the calling process "
873 "must match the real or saved-set user ID of the target process.  If I<pid> "
874 "is 0, then B<migrate_pages>()  moves pages of the calling process."
875 msgstr ""
876
877 #. type: Plain text
878 #: build/C/man2/migrate_pages.2:88
879 msgid ""
880 "Pages shared with another process will be moved only if the initiating "
881 "process has the B<CAP_SYS_NICE> privilege."
882 msgstr ""
883
884 #. type: Plain text
885 #: build/C/man2/migrate_pages.2:96
886 msgid ""
887 "On success B<migrate_pages>()  returns the number of pages that could not be "
888 "moved (i.e., a return of zero means that all pages were successfully "
889 "moved).  On error, it returns -1, and sets I<errno> to indicate the error."
890 msgstr ""
891
892 #. type: Plain text
893 #: build/C/man2/migrate_pages.2:106
894 msgid ""
895 "Insufficient privilege (B<CAP_SYS_NICE>)  to move pages of the process "
896 "specified by I<pid>, or insufficient privilege (B<CAP_SYS_NICE>)  to access "
897 "the specified target nodes."
898 msgstr ""
899
900 #. type: TP
901 #: build/C/man2/migrate_pages.2:106 build/C/man2/move_pages.2:189
902 #, no-wrap
903 msgid "B<ESRCH>"
904 msgstr ""
905
906 #.  FIXME Document the other errors that can occur for migrate_pages()
907 #. type: Plain text
908 #: build/C/man2/migrate_pages.2:112
909 msgid "No process matching I<pid> could be found."
910 msgstr ""
911
912 #. type: Plain text
913 #: build/C/man2/migrate_pages.2:116
914 msgid ""
915 "The B<migrate_pages>()  system call first appeared on Linux in version "
916 "2.6.16."
917 msgstr ""
918
919 #. type: Plain text
920 #: build/C/man2/migrate_pages.2:130
921 msgid ""
922 "Use B<get_mempolicy>(2)  with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
923 "set of nodes that are allowed by the calling process's cpuset.  Note that "
924 "this information is subject to change at any time by manual or automatic "
925 "reconfiguration of the cpuset."
926 msgstr ""
927
928 #. type: Plain text
929 #: build/C/man2/migrate_pages.2:142
930 msgid ""
931 "Use of B<migrate_pages>()  may result in pages whose location (node) "
932 "violates the memory policy established for the specified addresses (see "
933 "B<mbind>(2))  and/or the specified process (see B<set_mempolicy>(2)).  That "
934 "is, memory policy does not constrain the destination nodes used by "
935 "B<migrate_pages>()."
936 msgstr ""
937
938 #. type: Plain text
939 #: build/C/man2/migrate_pages.2:148 build/C/man2/move_pages.2:227
940 msgid ""
941 "The I<E<lt>numaif.hE<gt>> header is not included with glibc, but requires "
942 "installing I<libnuma-devel> or a similar package."
943 msgstr ""
944
945 #. type: Plain text
946 #: build/C/man2/migrate_pages.2:158 build/C/man2/move_pages.2:237
947 msgid ""
948 "B<get_mempolicy>(2), B<mbind>(2), B<set_mempolicy>(2), B<numa>(3), "
949 "B<numa_maps>(5), B<cpuset>(7), B<numa>(7), B<migratepages>(8), "
950 "B<numastat>(8)"
951 msgstr ""
952
953 #. type: Plain text
954 #: build/C/man2/migrate_pages.2:161
955 msgid "I<Documentation/vm/page_migration> in the Linux kernel source tree"
956 msgstr ""
957
958 #. type: TH
959 #: build/C/man2/move_pages.2:19
960 #, no-wrap
961 msgid "MOVE_PAGES"
962 msgstr ""
963
964 #. type: TH
965 #: build/C/man2/move_pages.2:19
966 #, no-wrap
967 msgid "2010-06-11"
968 msgstr ""
969
970 #. type: Plain text
971 #: build/C/man2/move_pages.2:22
972 msgid "move_pages - move individual pages of a process to another node"
973 msgstr ""
974
975 #. type: Plain text
976 #: build/C/man2/move_pages.2:28
977 #, no-wrap
978 msgid ""
979 "B<long move_pages(int >I<pid>B<, unsigned long count, void **>I<pages>B<,>\n"
980 "B<                const int *>I<nodes>B<, int *>I<status>B<, int "
981 ">I<flags>B<);>\n"
982 msgstr ""
983
984 #. type: Plain text
985 #: build/C/man2/move_pages.2:44
986 msgid ""
987 "B<move_pages>()  moves the specified I<pages> of the process I<pid> to the "
988 "memory nodes specified by I<nodes>.  The result of the move is reflected in "
989 "I<status>.  The I<flags> indicate constraints on the pages to be moved."
990 msgstr ""
991
992 #. type: Plain text
993 #: build/C/man2/move_pages.2:57
994 msgid ""
995 "I<pid> is the ID of the process in which pages are to be moved.  To move "
996 "pages in another process, the caller must be privileged (B<CAP_SYS_NICE>)  "
997 "or the real or effective user ID of the calling process must match the real "
998 "or saved-set user ID of the target process.  If I<pid> is 0, then "
999 "B<move_pages>()  moves pages of the calling process."
1000 msgstr ""
1001
1002 #. type: Plain text
1003 #: build/C/man2/move_pages.2:65
1004 msgid ""
1005 "I<count> is the number of pages to move.  It defines the size of the three "
1006 "arrays I<pages>, I<nodes>, and I<status>."
1007 msgstr ""
1008
1009 #.  FIXME Describe the result if pointers in the 'pages' array are
1010 #.  not aligned to page boundaries
1011 #. type: Plain text
1012 #: build/C/man2/move_pages.2:73
1013 msgid ""
1014 "I<pages> is an array of pointers to the pages that should be moved.  These "
1015 "are pointers that should be aligned to page boundaries.  Addresses are "
1016 "specified as seen by the process specified by I<pid>."
1017 msgstr ""
1018
1019 #. type: Plain text
1020 #: build/C/man2/move_pages.2:86
1021 msgid ""
1022 "I<nodes> is an array of integers that specify the desired location for each "
1023 "page.  Each element in the array is a node number.  I<nodes> can also be "
1024 "NULL, in which case B<move_pages>()  does not move any pages but instead "
1025 "will return the node where each page currently resides, in the I<status> "
1026 "array.  Obtaining the status of each page may be necessary to determine "
1027 "pages that need to be moved."
1028 msgstr ""
1029
1030 #. type: Plain text
1031 #: build/C/man2/move_pages.2:92
1032 msgid ""
1033 "I<status> is an array of integers that return the status of each page.  The "
1034 "array contains valid values only if B<move_pages>()  did not return an "
1035 "error."
1036 msgstr ""
1037
1038 #. type: Plain text
1039 #: build/C/man2/move_pages.2:104
1040 msgid ""
1041 "I<flags> specify what types of pages to move.  B<MPOL_MF_MOVE> means that "
1042 "only pages that are in exclusive use by the process are to be moved.  "
1043 "B<MPOL_MF_MOVE_ALL> means that pages shared between multiple processes can "
1044 "also be moved.  The process must be privileged (B<CAP_SYS_NICE>)  to use "
1045 "B<MPOL_MF_MOVE_ALL>."
1046 msgstr ""
1047
1048 #. type: SS
1049 #: build/C/man2/move_pages.2:104
1050 #, no-wrap
1051 msgid "Page states in the status array"
1052 msgstr ""
1053
1054 #. type: Plain text
1055 #: build/C/man2/move_pages.2:108
1056 msgid "The following values can be returned in each element of the I<status> array."
1057 msgstr ""
1058
1059 #. type: TP
1060 #: build/C/man2/move_pages.2:108
1061 #, no-wrap
1062 msgid "B<0..MAX_NUMNODES>"
1063 msgstr ""
1064
1065 #. type: Plain text
1066 #: build/C/man2/move_pages.2:111
1067 msgid "Identifies the node on which the page resides."
1068 msgstr ""
1069
1070 #. type: TP
1071 #: build/C/man2/move_pages.2:111
1072 #, no-wrap
1073 msgid "B<-EACCES>"
1074 msgstr ""
1075
1076 #. type: Plain text
1077 #: build/C/man2/move_pages.2:116
1078 msgid ""
1079 "The page is mapped by multiple processes and can be moved only if "
1080 "B<MPOL_MF_MOVE_ALL> is specified."
1081 msgstr ""
1082
1083 #. type: TP
1084 #: build/C/man2/move_pages.2:116
1085 #, no-wrap
1086 msgid "B<-EBUSY>"
1087 msgstr ""
1088
1089 #. type: Plain text
1090 #: build/C/man2/move_pages.2:122
1091 msgid ""
1092 "The page is currently busy and cannot be moved.  Try again later.  This "
1093 "occurs if a page is undergoing I/O or another kernel subsystem is holding a "
1094 "reference to the page."
1095 msgstr ""
1096
1097 #. type: TP
1098 #: build/C/man2/move_pages.2:122
1099 #, no-wrap
1100 msgid "B<-EFAULT>"
1101 msgstr ""
1102
1103 #. type: Plain text
1104 #: build/C/man2/move_pages.2:125
1105 msgid "This is a zero page or the memory area is not mapped by the process."
1106 msgstr ""
1107
1108 #. type: TP
1109 #: build/C/man2/move_pages.2:125
1110 #, no-wrap
1111 msgid "B<-EIO>"
1112 msgstr ""
1113
1114 #. type: Plain text
1115 #: build/C/man2/move_pages.2:132
1116 msgid ""
1117 "Unable to write back a page.  The page has to be written back in order to "
1118 "move it since the page is dirty and the filesystem does not provide a "
1119 "migration function that would allow the move of dirty pages."
1120 msgstr ""
1121
1122 #. type: TP
1123 #: build/C/man2/move_pages.2:132
1124 #, no-wrap
1125 msgid "B<-EINVAL>"
1126 msgstr ""
1127
1128 #. type: Plain text
1129 #: build/C/man2/move_pages.2:137
1130 msgid ""
1131 "A dirty page cannot be moved.  The filesystem does not provide a migration "
1132 "function and has no ability to write back pages."
1133 msgstr ""
1134
1135 #. type: TP
1136 #: build/C/man2/move_pages.2:137
1137 #, no-wrap
1138 msgid "B<-ENOENT>"
1139 msgstr ""
1140
1141 #. type: Plain text
1142 #: build/C/man2/move_pages.2:140
1143 msgid "The page is not present."
1144 msgstr ""
1145
1146 #. type: TP
1147 #: build/C/man2/move_pages.2:140
1148 #, no-wrap
1149 msgid "B<-ENOMEM>"
1150 msgstr ""
1151
1152 #. type: Plain text
1153 #: build/C/man2/move_pages.2:143
1154 msgid "Unable to allocate memory on target node."
1155 msgstr ""
1156
1157 #.  FIXME . Is the following quite true: does the wrapper in numactl
1158 #.  do the right thing?
1159 #. type: Plain text
1160 #: build/C/man2/move_pages.2:152
1161 msgid ""
1162 "On success B<move_pages>()  returns zero.  On error, it returns -1, and sets "
1163 "I<errno> to indicate the error."
1164 msgstr ""
1165
1166 #. type: TP
1167 #: build/C/man2/move_pages.2:153
1168 #, no-wrap
1169 msgid "B<E2BIG>"
1170 msgstr ""
1171
1172 #. type: Plain text
1173 #: build/C/man2/move_pages.2:156
1174 msgid "Too many pages to move."
1175 msgstr ""
1176
1177 #. type: TP
1178 #: build/C/man2/move_pages.2:156
1179 #, no-wrap
1180 msgid "B<EACCES>"
1181 msgstr ""
1182
1183 #.  FIXME Clarify "current cpuset" in the description of the EACCESS error.
1184 #.  Is that the cpuset of the caller or the target?
1185 #. type: Plain text
1186 #: build/C/man2/move_pages.2:161
1187 msgid "One of the target nodes is not allowed by the current cpuset."
1188 msgstr ""
1189
1190 #. type: Plain text
1191 #: build/C/man2/move_pages.2:164
1192 msgid "Parameter array could not be accessed."
1193 msgstr ""
1194
1195 #. type: Plain text
1196 #: build/C/man2/move_pages.2:171
1197 msgid ""
1198 "Flags other than B<MPOL_MF_MOVE> and B<MPOL_MF_MOVE_ALL> was specified or an "
1199 "attempt was made to migrate pages of a kernel thread."
1200 msgstr ""
1201
1202 #. type: TP
1203 #: build/C/man2/move_pages.2:171
1204 #, no-wrap
1205 msgid "B<ENODEV>"
1206 msgstr ""
1207
1208 #. type: Plain text
1209 #: build/C/man2/move_pages.2:174
1210 msgid "One of the target nodes is not online."
1211 msgstr ""
1212
1213 #. type: TP
1214 #: build/C/man2/move_pages.2:174
1215 #, no-wrap
1216 msgid "B<ENOENT>"
1217 msgstr ""
1218
1219 #. type: Plain text
1220 #: build/C/man2/move_pages.2:180
1221 msgid ""
1222 "No pages were found that require moving.  All pages are either already on "
1223 "the target node, not present, had an invalid address or could not be moved "
1224 "because they were mapped by multiple processes."
1225 msgstr ""
1226
1227 #. type: Plain text
1228 #: build/C/man2/move_pages.2:189
1229 msgid ""
1230 "The caller specified B<MPOL_MF_MOVE_ALL> without sufficient privileges "
1231 "(B<CAP_SYS_NICE>).  Or, the caller attempted to move pages of a process "
1232 "belonging to another user but did not have privilege to do so "
1233 "(B<CAP_SYS_NICE>)."
1234 msgstr ""
1235
1236 #. type: Plain text
1237 #: build/C/man2/move_pages.2:192
1238 msgid "Process does not exist."
1239 msgstr ""
1240
1241 #. type: Plain text
1242 #: build/C/man2/move_pages.2:195
1243 msgid "B<move_pages>()  first appeared on Linux in version 2.6.18."
1244 msgstr ""
1245
1246 #.  FIXME Clarify "current cpuset".  Is that the cpuset of the caller
1247 #.  or the target?
1248 #. type: Plain text
1249 #: build/C/man2/move_pages.2:211
1250 msgid ""
1251 "Use B<get_mempolicy>(2)  with the B<MPOL_F_MEMS_ALLOWED> flag to obtain the "
1252 "set of nodes that are allowed by the current cpuset.  Note that this "
1253 "information is subject to change at any time by manual or automatic "
1254 "reconfiguration of the cpuset."
1255 msgstr ""
1256
1257 #. type: Plain text
1258 #: build/C/man2/move_pages.2:221
1259 msgid ""
1260 "Use of this function may result in pages whose location (node) violates the "
1261 "memory policy established for the specified addresses (See B<mbind>(2))  "
1262 "and/or the specified process (See B<set_mempolicy>(2)).  That is, memory "
1263 "policy does not constrain the destination nodes used by B<move_pages>()."
1264 msgstr ""
1265
1266 #. type: TH
1267 #: build/C/man7/numa.7:29
1268 #, no-wrap
1269 msgid "NUMA"
1270 msgstr ""
1271
1272 #. type: TH
1273 #: build/C/man7/numa.7:29
1274 #, no-wrap
1275 msgid "2012-08-05"
1276 msgstr ""
1277
1278 #. type: Plain text
1279 #: build/C/man7/numa.7:32
1280 msgid "numa - overview of Non-Uniform Memory Architecture"
1281 msgstr ""
1282
1283 #. type: Plain text
1284 #: build/C/man7/numa.7:43
1285 msgid ""
1286 "Non-Uniform Memory Access (NUMA) refers to multiprocessor systems whose "
1287 "memory is divided into multiple memory nodes.  The access time of a memory "
1288 "node depends on the relative locations of the accessing CPU and the accessed "
1289 "node.  (This contrasts with a symmetric multiprocessor system, where the "
1290 "access time for all of the memory is the same for all CPUs.)  Normally, each "
1291 "CPU on a NUMA system has a local memory node whose contents can be accessed "
1292 "faster than the memory in the node local to another CPU or the memory on a "
1293 "bus shared by all CPUs."
1294 msgstr ""
1295
1296 #. type: SS
1297 #: build/C/man7/numa.7:43
1298 #, no-wrap
1299 msgid "NUMA system calls"
1300 msgstr ""
1301
1302 #. type: Plain text
1303 #: build/C/man7/numa.7:54
1304 msgid ""
1305 "The Linux kernel implements the following NUMA-related system calls: "
1306 "B<get_mempolicy>(2), B<mbind>(2), B<migrate_pages>(2), B<move_pages>(2), and "
1307 "B<set_mempolicy>(2).  However, applications should normally use the "
1308 "interface provided by I<libnuma>; see \"Library Support\" below."
1309 msgstr ""
1310
1311 #. type: SS
1312 #: build/C/man7/numa.7:54
1313 #, no-wrap
1314 msgid "/proc/[number]/numa_maps (since Linux 2.6.14)"
1315 msgstr ""
1316
1317 #.  See also Changelog-2.6.14
1318 #. type: Plain text
1319 #: build/C/man7/numa.7:58
1320 msgid ""
1321 "This file displays information about a process's NUMA memory policy and "
1322 "allocation."
1323 msgstr ""
1324
1325 #. type: Plain text
1326 #: build/C/man7/numa.7:62
1327 msgid ""
1328 "Each line contains information about a memory range used by the process, "
1329 "displaying\\(emamong other information\\(emthe effective memory policy for "
1330 "that memory range and on which nodes the pages have been allocated."
1331 msgstr ""
1332
1333 #. type: Plain text
1334 #: build/C/man7/numa.7:70
1335 msgid ""
1336 "I<numa_maps> is a read-only file.  When I</proc/E<lt>pidE<gt>/numa_maps> is "
1337 "read, the kernel will scan the virtual address space of the process and "
1338 "report how memory is used.  One line is displayed for each unique memory "
1339 "range of the process."
1340 msgstr ""
1341
1342 #. type: Plain text
1343 #: build/C/man7/numa.7:77
1344 msgid ""
1345 "The first field of each line shows the starting address of the memory "
1346 "range.  This field allows a correlation with the contents of the "
1347 "I</proc/E<lt>pidE<gt>/maps> file, which contains the end address of the "
1348 "range and other information, such as the access permissions and sharing."
1349 msgstr ""
1350
1351 #. type: Plain text
1352 #: build/C/man7/numa.7:85
1353 msgid ""
1354 "The second field shows the memory policy currently in effect for the memory "
1355 "range.  Note that the effective policy is not necessarily the policy "
1356 "installed by the process for that memory range.  Specifically, if the "
1357 "process installed a \"default\" policy for that range, the effective policy "
1358 "for that range will be the process policy, which may or may not be "
1359 "\"default\"."
1360 msgstr ""
1361
1362 #. type: Plain text
1363 #: build/C/man7/numa.7:88
1364 msgid ""
1365 "The rest of the line contains information about the pages allocated in the "
1366 "memory range, as follows:"
1367 msgstr ""
1368
1369 #. type: TP
1370 #: build/C/man7/numa.7:88
1371 #, no-wrap
1372 msgid "I<NE<lt>nodeE<gt>=E<lt>nr_pagesE<gt>>"
1373 msgstr ""
1374
1375 #. type: Plain text
1376 #: build/C/man7/numa.7:101
1377 msgid ""
1378 "The number of pages allocated on I<E<lt>nodeE<gt>>.  I<E<lt>nr_pagesE<gt>> "
1379 "includes only pages currently mapped by the process.  Page migration and "
1380 "memory reclaim may have temporarily unmapped pages associated with this "
1381 "memory range.  These pages may show up again only after the process has "
1382 "attempted to reference them.  If the memory range represents a shared memory "
1383 "area or file mapping, other processes may currently have additional pages "
1384 "mapped in a corresponding memory range."
1385 msgstr ""
1386
1387 #. type: TP
1388 #: build/C/man7/numa.7:101
1389 #, no-wrap
1390 msgid "I<file=E<lt>filenameE<gt>>"
1391 msgstr ""
1392
1393 #. type: Plain text
1394 #: build/C/man7/numa.7:107
1395 msgid ""
1396 "The file backing the memory range.  If the file is mapped as private, write "
1397 "accesses may have generated COW (Copy-On-Write) pages in this memory range.  "
1398 "These pages are displayed as anonymous pages."
1399 msgstr ""
1400
1401 #. type: TP
1402 #: build/C/man7/numa.7:107
1403 #, no-wrap
1404 msgid "I<heap>"
1405 msgstr ""
1406
1407 #. type: Plain text
1408 #: build/C/man7/numa.7:110
1409 msgid "Memory range is used for the heap."
1410 msgstr ""
1411
1412 #. type: TP
1413 #: build/C/man7/numa.7:110
1414 #, no-wrap
1415 msgid "I<stack>"
1416 msgstr ""
1417
1418 #. type: Plain text
1419 #: build/C/man7/numa.7:113
1420 msgid "Memory range is used for the stack."
1421 msgstr ""
1422
1423 #. type: TP
1424 #: build/C/man7/numa.7:113
1425 #, no-wrap
1426 msgid "I<huge>"
1427 msgstr ""
1428
1429 #. type: Plain text
1430 #: build/C/man7/numa.7:117
1431 msgid ""
1432 "Huge memory range.  The page counts shown are huge pages and not regular "
1433 "sized pages."
1434 msgstr ""
1435
1436 #. type: TP
1437 #: build/C/man7/numa.7:117
1438 #, no-wrap
1439 msgid "I<anon=E<lt>pagesE<gt>>"
1440 msgstr ""
1441
1442 #. type: Plain text
1443 #: build/C/man7/numa.7:120
1444 msgid "The number of anonymous page in the range."
1445 msgstr ""
1446
1447 #. type: TP
1448 #: build/C/man7/numa.7:120
1449 #, no-wrap
1450 msgid "I<dirty=E<lt>pagesE<gt>>"
1451 msgstr ""
1452
1453 #. type: Plain text
1454 #: build/C/man7/numa.7:123
1455 msgid "Number of dirty pages."
1456 msgstr ""
1457
1458 #. type: TP
1459 #: build/C/man7/numa.7:123
1460 #, no-wrap
1461 msgid "I<mapped=E<lt>pagesE<gt>>"
1462 msgstr ""
1463
1464 #. type: Plain text
1465 #: build/C/man7/numa.7:130
1466 msgid "Total number of mapped pages, if different from I<dirty> and I<anon> pages."
1467 msgstr ""
1468
1469 #. type: TP
1470 #: build/C/man7/numa.7:130
1471 #, no-wrap
1472 msgid "I<mapmax=E<lt>countE<gt>>"
1473 msgstr ""
1474
1475 #. type: Plain text
1476 #: build/C/man7/numa.7:136
1477 msgid ""
1478 "Maximum mapcount (number of processes mapping a single page) encountered "
1479 "during the scan.  This may be used as an indicator of the degree of sharing "
1480 "occurring in a given memory range."
1481 msgstr ""
1482
1483 #. type: TP
1484 #: build/C/man7/numa.7:136
1485 #, no-wrap
1486 msgid "I<swapcache=E<lt>countE<gt>>"
1487 msgstr ""
1488
1489 #. type: Plain text
1490 #: build/C/man7/numa.7:139
1491 msgid "Number of pages that have an associated entry on a swap device."
1492 msgstr ""
1493
1494 #. type: TP
1495 #: build/C/man7/numa.7:139
1496 #, no-wrap
1497 msgid "I<active=E<lt>pagesE<gt>>"
1498 msgstr ""
1499
1500 #. type: Plain text
1501 #: build/C/man7/numa.7:145
1502 msgid ""
1503 "The number of pages on the active list.  This field is shown only if "
1504 "different from the number of pages in this range.  This means that some "
1505 "inactive pages exist in the memory range that may be removed from memory by "
1506 "the swapper soon."
1507 msgstr ""
1508
1509 #. type: TP
1510 #: build/C/man7/numa.7:145
1511 #, no-wrap
1512 msgid "I<writeback=E<lt>pagesE<gt>>"
1513 msgstr ""
1514
1515 #. type: Plain text
1516 #: build/C/man7/numa.7:148
1517 msgid "Number of pages that are currently being written out to disk."
1518 msgstr ""
1519
1520 #. type: Plain text
1521 #: build/C/man7/numa.7:150
1522 msgid "No standards govern NUMA interfaces."
1523 msgstr ""
1524
1525 #. type: Plain text
1526 #: build/C/man7/numa.7:157
1527 msgid ""
1528 "The Linux NUMA system calls and I</proc> interface are available only if the "
1529 "kernel was configured and built with the B<CONFIG_NUMA> option."
1530 msgstr ""
1531
1532 #. type: SS
1533 #: build/C/man7/numa.7:157
1534 #, no-wrap
1535 msgid "Library support"
1536 msgstr ""
1537
1538 #. type: Plain text
1539 #: build/C/man7/numa.7:166
1540 msgid ""
1541 "Link with I<-lnuma> to get the system call definitions.  I<libnuma> and the "
1542 "required I<E<lt>numaif.hE<gt>> header are available in the I<numactl> "
1543 "package."
1544 msgstr ""
1545
1546 #. type: Plain text
1547 #: build/C/man7/numa.7:183
1548 msgid ""
1549 "However, applications should not use these system calls directly.  Instead, "
1550 "the higher level interface provided by the B<numa>(3)  functions in the "
1551 "I<numactl> package is recommended.  The I<numactl> package is available at "
1552 "E<.UR ftp://oss.sgi.com\\:/www\\:/projects\\:/libnuma\\:/download/> E<.UE .> "
1553 "The package is also included in some Linux distributions.  Some "
1554 "distributions include the development library and header in the separate "
1555 "I<numactl-devel> package."
1556 msgstr ""
1557
1558 #. type: Plain text
1559 #: build/C/man7/numa.7:191
1560 msgid ""
1561 "B<get_mempolicy>(2), B<mbind>(2), B<move_pages>(2), B<set_mempolicy>(2), "
1562 "B<numa>(3), B<cpuset>(7), B<numactl>(8)"
1563 msgstr ""
1564
1565 #. type: TH
1566 #: build/C/man2/set_mempolicy.2:27
1567 #, no-wrap
1568 msgid "SET_MEMPOLICY"
1569 msgstr ""
1570
1571 #. type: TH
1572 #: build/C/man2/set_mempolicy.2:27
1573 #, no-wrap
1574 msgid "2014-05-28"
1575 msgstr ""
1576
1577 #. type: Plain text
1578 #: build/C/man2/set_mempolicy.2:30
1579 msgid ""
1580 "set_mempolicy - set default NUMA memory policy for a process and its "
1581 "children"
1582 msgstr ""
1583
1584 #. type: Plain text
1585 #: build/C/man2/set_mempolicy.2:36
1586 #, no-wrap
1587 msgid ""
1588 "B<long set_mempolicy(int >I<mode>B<, const unsigned long *>I<nodemask>B<,>\n"
1589 "B<                   unsigned long >I<maxnode>B<);>\n"
1590 msgstr ""
1591
1592 #. type: Plain text
1593 #: build/C/man2/set_mempolicy.2:49
1594 msgid ""
1595 "B<set_mempolicy>()  sets the NUMA memory policy of the calling process, "
1596 "which consists of a policy mode and zero or more nodes, to the values "
1597 "specified by the I<mode>, I<nodemask> and I<maxnode> arguments."
1598 msgstr ""
1599
1600 #. type: Plain text
1601 #: build/C/man2/set_mempolicy.2:75
1602 msgid ""
1603 "This system call defines the default policy for the process.  The process "
1604 "policy governs allocation of pages in the process's address space outside of "
1605 "memory ranges controlled by a more specific policy set by B<mbind>(2).  The "
1606 "process default policy also controls allocation of any pages for "
1607 "memory-mapped files mapped using the B<mmap>(2)  call with the "
1608 "B<MAP_PRIVATE> flag and that are only read [loaded] from by the process and "
1609 "of memory-mapped files mapped using the B<mmap>(2)  call with the "
1610 "B<MAP_SHARED> flag, regardless of the access type.  The policy is applied "
1611 "only when a new page is allocated for the process.  For anonymous memory "
1612 "this is when the page is first touched by the application."
1613 msgstr ""
1614
1615 #. type: Plain text
1616 #: build/C/man2/set_mempolicy.2:89
1617 msgid ""
1618 "The I<mode> argument must specify one of B<MPOL_DEFAULT>, B<MPOL_BIND>, "
1619 "B<MPOL_INTERLEAVE>, or B<MPOL_PREFERRED>.  All modes except B<MPOL_DEFAULT> "
1620 "require the caller to specify via the I<nodemask> argument one or more "
1621 "nodes."
1622 msgstr ""
1623
1624 #. type: Plain text
1625 #: build/C/man2/set_mempolicy.2:97
1626 msgid ""
1627 "The I<mode> argument may also include an optional I<mode flag>.  The "
1628 "supported I<mode flags> are:"
1629 msgstr ""
1630
1631 #. type: TP
1632 #: build/C/man2/set_mempolicy.2:97
1633 #, no-wrap
1634 msgid "B<MPOL_F_STATIC_NODES> (since Linux 2.6.26)"
1635 msgstr ""
1636
1637 #. type: Plain text
1638 #: build/C/man2/set_mempolicy.2:107
1639 msgid ""
1640 "A nonempty I<nodemask> specifies physical node ids.  Linux will not remap "
1641 "the I<nodemask> when the process moves to a different cpuset context, nor "
1642 "when the set of nodes allowed by the process's current cpuset context "
1643 "changes."
1644 msgstr ""
1645
1646 #. type: TP
1647 #: build/C/man2/set_mempolicy.2:107
1648 #, no-wrap
1649 msgid "B<MPOL_F_RELATIVE_NODES> (since Linux 2.6.26)"
1650 msgstr ""
1651
1652 #. type: Plain text
1653 #: build/C/man2/set_mempolicy.2:133
1654 msgid ""
1655 "I<nodemask> points to a bit mask of node IDs that contains up to I<maxnode> "
1656 "bits.  The bit mask size is rounded to the next multiple of "
1657 "I<sizeof(unsigned long)>, but the kernel will use bits only up to "
1658 "I<maxnode>.  A NULL value of I<nodemask> or a I<maxnode> value of zero "
1659 "specifies the empty set of nodes.  If the value of I<maxnode> is zero, the "
1660 "I<nodemask> argument is ignored."
1661 msgstr ""
1662
1663 #. type: Plain text
1664 #: build/C/man2/set_mempolicy.2:154
1665 msgid ""
1666 "Where a I<nodemask> is required, it must contain at least one node that is "
1667 "on-line, allowed by the process's current cpuset context, [unless the "
1668 "B<MPOL_F_STATIC_NODES> mode flag is specified], and contains memory.  If the "
1669 "B<MPOL_F_STATIC_NODES> is set in I<mode> and a required I<nodemask> contains "
1670 "no nodes that are allowed by the process's current cpuset context, the "
1671 "memory policy reverts to I<local allocation>.  This effectively overrides "
1672 "the specified policy until the process's cpuset context includes one or more "
1673 "of the nodes specified by I<nodemask>."
1674 msgstr ""
1675
1676 #. type: Plain text
1677 #: build/C/man2/set_mempolicy.2:165
1678 msgid ""
1679 "The B<MPOL_DEFAULT> mode specifies that any nondefault process memory policy "
1680 "be removed, so that the memory policy \"falls back\" to the system default "
1681 "policy.  The system default policy is \"local allocation\"\\(emthat is, "
1682 "allocate memory on the node of the CPU that triggered the allocation.  "
1683 "I<nodemask> must be specified as NULL.  If the \"local node\" contains no "
1684 "free memory, the system will attempt to allocate memory from a \"near by\" "
1685 "node."
1686 msgstr ""
1687
1688 #. type: Plain text
1689 #: build/C/man2/set_mempolicy.2:182
1690 msgid ""
1691 "The B<MPOL_BIND> mode defines a strict policy that restricts memory "
1692 "allocation to the nodes specified in I<nodemask>.  If I<nodemask> specifies "
1693 "more than one node, page allocations will come from the node with the lowest "
1694 "numeric node ID first, until that node contains no free memory.  Allocations "
1695 "will then come from the node with the next highest node ID specified in "
1696 "I<nodemask> and so forth, until none of the specified nodes contain free "
1697 "memory.  Pages will not be allocated from any node not specified in the "
1698 "I<nodemask>."
1699 msgstr ""
1700
1701 #.  NOTE:  the following sentence doesn't make sense in the context
1702 #.  of set_mempolicy() -- no memory area specified.
1703 #.  To be effective the memory area should be fairly large,
1704 #.  at least 1MB or bigger.
1705 #. type: Plain text
1706 #: build/C/man2/set_mempolicy.2:196
1707 msgid ""
1708 "B<MPOL_INTERLEAVE> interleaves page allocations across the nodes specified "
1709 "in I<nodemask> in numeric node ID order.  This optimizes for bandwidth "
1710 "instead of latency by spreading out pages and memory accesses to those pages "
1711 "across multiple nodes.  However, accesses to a single page will still be "
1712 "limited to the memory bandwidth of a single node."
1713 msgstr ""
1714
1715 #. type: Plain text
1716 #: build/C/man2/set_mempolicy.2:213
1717 msgid ""
1718 "B<MPOL_PREFERRED> sets the preferred node for allocation.  The kernel will "
1719 "try to allocate pages from this node first and fall back to \"near by\" "
1720 "nodes if the preferred node is low on free memory.  If I<nodemask> specifies "
1721 "more than one node ID, the first node in the mask will be selected as the "
1722 "preferred node.  If the I<nodemask> and I<maxnode> arguments specify the "
1723 "empty set, then the policy specifies \"local allocation\" (like the system "
1724 "default policy discussed above)."
1725 msgstr ""
1726
1727 #. type: Plain text
1728 #: build/C/man2/set_mempolicy.2:220
1729 msgid ""
1730 "The process memory policy is preserved across an B<execve>(2), and is "
1731 "inherited by child processes created using B<fork>(2)  or B<clone>(2)."
1732 msgstr ""
1733
1734 #. type: Plain text
1735 #: build/C/man2/set_mempolicy.2:227
1736 msgid ""
1737 "On success, B<set_mempolicy>()  returns 0; on error, -1 is returned and "
1738 "I<errno> is set to indicate the error."
1739 msgstr ""
1740
1741 #. type: Plain text
1742 #: build/C/man2/set_mempolicy.2:272
1743 msgid ""
1744 "I<mode> is invalid.  Or, I<mode> is B<MPOL_DEFAULT> and I<nodemask> is "
1745 "nonempty, or I<mode> is B<MPOL_BIND> or B<MPOL_INTERLEAVE> and I<nodemask> "
1746 "is empty.  Or, I<maxnode> specifies more than a page worth of bits.  Or, "
1747 "I<nodemask> specifies one or more node IDs that are greater than the maximum "
1748 "supported node ID.  Or, none of the node IDs specified by I<nodemask> are "
1749 "on-line and allowed by the process's current cpuset context, or none of the "
1750 "specified nodes contain memory.  Or, the I<mode> argument specified both "
1751 "B<MPOL_F_STATIC_NODES> and B<MPOL_F_RELATIVE_NODES>."
1752 msgstr ""
1753
1754 #. type: Plain text
1755 #: build/C/man2/set_mempolicy.2:279
1756 msgid ""
1757 "The B<set_mempolicy>(), system call was added to the Linux kernel in version "
1758 "2.6.7."
1759 msgstr ""
1760
1761 #. type: Plain text
1762 #: build/C/man2/set_mempolicy.2:286
1763 msgid ""
1764 "Process policy is not remembered if the page is swapped out.  When such a "
1765 "page is paged back in, it will use the policy of the process or memory range "
1766 "that is in effect at the time the page is allocated."
1767 msgstr ""
1768
1769 #. type: Plain text
1770 #: build/C/man2/set_mempolicy.2:298
1771 msgid ""
1772 "B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<mmap>(2), B<numa>(3), "
1773 "B<cpuset>(7), B<numa>(7), B<numactl>(8)"
1774 msgstr ""