OSDN Git Service

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