1 .\" Hey Emacs! This file is -*- nroff -*- source.
3 .\" This manpage is Copyright (C) 2006 Silicon Graphics, Inc.
6 .\" Permission is granted to make and distribute verbatim copies of this
7 .\" manual provided the copyright notice and this permission notice are
8 .\" preserved on all copies.
10 .\" Permission is granted to copy and distribute modified versions of this
11 .\" manual under the conditions for verbatim copying, provided that the
12 .\" entire resulting derived work is distributed under the terms of a
13 .\" permission notice identical to this one.
15 .\" FIXME Should programs normally be using this API directly, or should
16 .\" they rather be using interfaces in the numactl package?
17 .\" (e.g., compare with recommendation in mbind(2)).
19 .\" Japanese Version Copyright (c) 2008 Akihiro MOTOKI
20 .\" all rights reserved.
21 .\" Translated 2008-10-26, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
23 .TH MOVE_PAGES 2 2010-06-11 "Linux" "Linux Programmer's Manual"
25 move_pages \- ¤¢¤ë¥×¥í¥»¥¹¤Î¸Ä¡¹¤Î¥Ú¡¼¥¸¤òÊ̤ΥΡ¼¥É¤Ë°ÜÆ°¤¹¤ë
28 .B #include <numaif.h>
30 .BI "long move_pages(int " pid ", unsigned long count, void **" pages ,
31 .BI " const int *" nodes ", int *" status ", int " flags );
34 \fI\-lnuma\fP ¤È¥ê¥ó¥¯¤¹¤ë¡£
43 ¤Ç»ØÄꤵ¤ì¤¿¥á¥â¥ê¥Î¡¼¥É¤Ë°ÜÆ°¤¹¤ë¡£
48 ¤Ç¤Ï°ÜÆ°¤µ¤ì¤ë¥Ú¡¼¥¸¤Ë´Ø¤¹¤ëÀ©Ìó¤ò»ØÄꤹ¤ë¡£
51 ¤Ï¡¢°ÜÆ°¤µ¤ì¤ë¥Ú¡¼¥¸¤¬Â°¤¹¤ë¥×¥í¥»¥¹¤Î ID ¤Ç¤¢¤ë¡£
52 ÊÌ¤Î¥×¥í¥»¥¹¤Î¥Ú¡¼¥¸¤ò°ÜÆ°¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¸Æ¤Ó½Ð¤·¸µ¤¬Æø¢
54 ¤ò»ý¤Ã¤Æ¤¤¤ë¤«¡¢¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¼Â¥æ¡¼¥¶ ID ¤«¼Â¸ú¥æ¡¼¥¶ ID ¤¬
55 ¥Ú¡¼¥¸°ÜÆ°ÂÐ¾Ý¤Î¥×¥í¥»¥¹¤Î¼Â¥æ¡¼¥¶ ID ¤«Êݸ set-user-ID ¤Î¤É¤Á¤é¤«¤È
56 °ìÃפ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
60 ¤Ï¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¥Ú¡¼¥¸¤ò°ÜÆ°¤¹¤ë¡£
63 ¤Ï°ÜÆ°¤¹¤ë¥Ú¡¼¥¸¿ô¤Ç¤¢¤ë¡£
69 ¤Î 3 ¤Ä¤ÎÇÛÎó¤ÎÂ礤µ¤¬ÄêµÁ¤µ¤ì¤ë¡£
72 ¤Ï¡¢°ÜÆ°¤¹¤Ù¤¥Ú¡¼¥¸¤Ø¤Î¥Ý¥¤¥ó¥¿¤ÎÇÛÎó¤Ç¤¢¤ê¡¢
73 ³Æ¥Ý¥¤¥ó¥¿¤Ï¥Ú¡¼¥¸¶³¦¤Ë·¤¨¤¿Ãͤò»ØÄꤹ¤Ù¤¤Ç¤¢¤ë¡£
74 .\" FIXME what if they are not aligned?
76 ¤Ç»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤Ç¸«¤¨¤ë¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ë¡£
79 ¤Ï¡¢³Æ¥Ú¡¼¥¸¤Î´õ˾¤Î°ÜÆ°¾ì½ê¤ò¼¨¤¹À°¿ôÃͤÎÇÛÎó¤Ç¤¢¤ê¡¢
80 ÇÛÎó¤Î³ÆÍ×ÁǤϥΡ¼¥ÉÈÖ¹æ¤Ç¤¢¤ë¡£
82 ¤Ë¤Ï NULL ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¡¢¤³¤Î¾ì¹ç¤Ë¤Ï
84 ¤Ï¤É¤Î¥Ú¡¼¥¸¤â°ÜÆ°¤·¤Ê¤¤¤¬¡¢³Æ¥Ú¡¼¥¸¤¬¸½ºßÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¥Î¡¼¥É¤òÇÛÎó
86 ¤Ë³ÊǼ¤·¤ÆÊÖ¤¹¡£¤É¤Î¥Ú¡¼¥¸¤ò°ÜÆ°¤¹¤ëɬÍפ¬¤¢¤ë¤«¤òȽÃǤ¹¤ë¤¿¤á¤Ë¡¢
87 ³Æ¥Ú¡¼¥¸¤Î¾õÂ֤μèÆÀ¤¬É¬Íפʾì¹ç¤â¤¢¤ë¡£
90 ¤Ï¡¢³Æ¥Ú¡¼¥¸¤Î¾õÂÖ¤òɽ¤¹À°¿ôÃͤÎÇÛÎó¤Ç¤¢¤ë¡£
91 ¤³¤ÎÇÛÎó¤Ë͸ú¤ÊÃͤ¬³ÊǼ¤µ¤ì¤ë¤Î¤Ï¡¢
93 ¤¬¥¨¥é¡¼¤òÊÖ¤µ¤Ê¤«¤Ã¤¿¾ì¹ç¤À¤±¤Ç¤¢¤ë¡£
96 ¤Ë¤Ï¡¢¤É¤Î¼ïÎà¤Î¥Ú¡¼¥¸¤ò°ÜÆ°¤¹¤ë¤«¤ò»ØÄꤹ¤ë¡£
98 ¤Ï¡¢¤½¤Î¥×¥í¥»¥¹¤¬ÇÓ¾Ū¤Ë»ÈÍѤ·¤Æ¤¤¤ë¥Ú¡¼¥¸¤À¤±¤ò°ÜÆ°¤¹¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
100 ¤Ï¡¢Ê£¿ô¤Î¥×¥í¥»¥¹´Ö¤Ç¶¦Í¤µ¤ì¤Æ¤¤¤ë¥Ú¡¼¥¸¤â°ÜÆ°¤Ç¤¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
102 ¤ò»ÈÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤½¤Î¥×¥í¥»¥¹¤¬Æø¢
104 ¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
105 .SH status ÇÛÎó¤Ë³ÊǼ¤µ¤ì¤ë¥Ú¡¼¥¸¾õÂÖ
107 ÇÛÎó¤Î³ÆÍ×ÁǤȤ·¤Æ¡¢°Ê²¼¤ÎÃͤ¬ÊÖ¤µ¤ì¤ë¡£
110 ¤½¤Î¥Ú¡¼¥¸¤¬ÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¥Î¡¼¥É¤ò¼¨¤¹¡£
113 ¤½¤Î¥Ú¡¼¥¸¤ÏÊ£¿ô¤Î¥×¥í¥»¥¹¤Ë¤è¤ê¥Þ¥Ã¥×¤µ¤ì¤Æ¤ª¤ê¡¢
115 ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¤Î¤ß°ÜÆ°¤Ç¤¤ë¡£
118 ¤½¤Î¥Ú¡¼¥¸¤¬¸½ºß¥Ó¥¸¡¼¤Ç¤¢¤ê¡¢°ÜÆ°¤Ç¤¤Ê¤¤¡£¸å¤Ç¤â¤¦°ìÅٻ¤³¤È¡£
119 ¤³¤Î¾õ¶·¤Ï¡¢¥Ú¡¼¥¸¤¬ I/O ¤Î¼Â¹ÔÃæ¤Ç¤¢¤Ã¤¿¤ê¡¢¥«¡¼¥Í¥ë¤Î¾¤Î¥µ¥Ö¥·¥¹¥Æ¥à
120 ¤¬¤½¤Î¥Ú¡¼¥¸¤Ø¤Î»²¾È¤òÊÝ»ý¤·¤Æ¤¤¤ë¾ì¹ç¤ËȯÀ¸¤¹¤ë¡£
123 ¤½¤Î¥Ú¡¼¥¸¤¬ zero page ¤Ç¤¢¤ë¤«¡¢¤½¤Î¥á¥â¥êÎΰè¤Ï¤½¤Î¥×¥í¥»¥¹¤Ë¤è¤ê
127 ¥Ú¡¼¥¸¤ò½ñ¤Ì᤹ (write back) ¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
128 ¥Ú¡¼¥¸¤¬ dirty ¤Ç¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ dirty ¤Ê¥Ú¡¼¥¸¤ò°ÜÆ°¤Ç¤¤ë¤è¤¦¤Ê
129 °ÜÆ°µ¡Ç½¤òÄ󶡤·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢¤½¤Î¥Ú¡¼¥¸¤ò°ÜÆ°¤¹¤ë¤¿¤á¤Ë¤Ï¥Ú¡¼¥¸¤ò
130 ½ñ¤Ìᤵ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
133 dirty ¤Ê¥Ú¡¼¥¸¤ò°ÜÆ°¤Ç¤¤Ê¤¤¡£
134 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ dirty ¤Ê¥Ú¡¼¥¸¤ò°ÜÆ°¤¹¤ë¤¿¤á¤Îµ¡Ç½¤òÄ󶡤·¤Æ¤ª¤é¤º¡¢
135 ¥Ú¡¼¥¸¤ò½ñ¤Ì᤹ǽÎϤâ¤Ê¤¤¡£
141 °ÜÆ°Àè¤Î¥Î¡¼¥É¤Ç¥á¥â¥ê¤ò³ÎÊݤ¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
146 .\" FIXME Is the following quite true: does the wrapper in numactl
147 .\" do the right thing?
148 ¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤òÊÖ¤·¡¢
150 ¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£
154 °ÜÆ°¤¹¤Ù¤¥Ú¡¼¥¸¤¬Â¿²á¤®¤ë¡£
157 .\" FIXME Clarify "current cpuset". Is that the cpuset of the caller
159 °ÜÆ°Àè¤Î¥Î¡¼¥É¤Î¤¤¤º¤ì¤«¤¬¸½ºß¤Î CPU ½¸¹ç¤Ç¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
162 ¥Ñ¥é¥á¡¼¥¿ÇÛÎó¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤«¤Ã¤¿¡£
170 ¤Ç¤â¤Ê¤¤Ãͤ¬»ØÄꤵ¤ì¤¿¤«¡¢¥«¡¼¥Í¥ë¥¹¥ì¥Ã¥É¤Î¥Ú¡¼¥¸¤ò°ÜÆ°¤µ¤»¤è¤¦¤È¤·¤¿¡£
173 °ÜÆ°Àè¤Î¥Î¡¼¥É¤Î¤¤¤º¤ì¤«¤¬¥ª¥ó¥é¥¤¥ó¤Ç¤Ê¤¤¡£
176 °ÜÆ°¤¬É¬Íפʥڡ¼¥¸¤¬Á´¤¯¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¡£
177 »ØÄꤵ¤ì¤¿Á´¤Æ¤Î¥Ú¡¼¥¸¤¬¡¢¤¹¤Ç¤Ë°ÜÆ°Àè¤Î¥Î¡¼¥É¤Ë¸ºß¤¹¤ë¤«¡¢Â¸ºß¤·¤Ê¤¤¤«¡¢
178 ̵¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¢¤Ã¤¿¤«¡¢Ê£¿ô¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ¥Þ¥Ã¥×¤µ¤ì¤Æ¤¤¤Æ°ÜÆ°¤Ç¤
179 ¤Ê¤«¤Ã¤¿¤«¡¢¤Î¤¤¤º¤ì¤«¤Ç¤¢¤Ã¤¿¡£
184 ¤ò»ØÄꤷ¤¿¤¬¡¢½½Ê¬¤ÊÆø¢
187 ¤Þ¤¿¤Ï¡¢¸Æ¤Ó½Ð¤·¸µ¤¬Â¾¤Î¥æ¡¼¥¶¤Ë°¤¹¤ë¥×¥í¥»¥¹¤Î¥Ú¡¼¥¸¤ò°ÜÆ°¤·¤è¤¦¤È¤·¤¿¤¬¡¢
188 ¤½¤ì¤ò¹Ô¤¨¤ë¤À¤±¤ÎÆø¢
193 ¥×¥í¥»¥¹¤¬Â¸ºß¤·¤Ê¤¤¡£
196 ¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó 2.6.18 ¤Ç½é¤á¤Æ Linux ¤ËÅо줷¤¿¡£
198 ¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux ¸ÇͤǤ¢¤ë¡£
200 ¥é¥¤¥Ö¥é¥ê¤Ë¤è¤ë¥µ¥Ý¡¼¥È¤Ë¤Ä¤¤¤Æ¤Ï
204 .\" FIXME Clarify "current cpuset". Is that the cpuset of the caller
206 ¸½ºß¤Î CPU ½¸¹ç¤Çµö²Ä¤µ¤ì¤Æ¤¤¤ë¥Î¡¼¥É¤Î½¸¹ç¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢¥Õ¥é¥°
207 .B MPOL_F_MEMS_ALLOWED
209 .BR get_mempolicy (2)
211 ¼èÆÀ¤·¤¿¾ðÊó¤Ï¡¢CPU ½¸¹ç¤Î¼êÆ°¤Þ¤¿¤Ï¼«Æ°¤Ç¤ÎºÆ¹½À®¤Ë¤è¤ê
212 ¤¤¤Ä²¿»þÊѲ½¤·¤Æ¤·¤Þ¤¦¤«Ê¬¤«¤é¤Ê¤¤¡£
214 ¤³¤Î´Ø¿ô¤ò»ÈÍѤ¹¤ë¤È¡¢¥Ú¡¼¥¸¤Î°ÌÃÖ (¥Î¡¼¥É) ¤¬
215 »ØÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤ËÂФ·¤ÆÀßÄꤵ¤ì¤¿¥á¥â¥ê¥Ý¥ê¥·¡¼
217 »²¾È) ¤ä»ØÄꤵ¤ì¤¿¥×¥í¥»¥¹¤ËÂФ·¤ÆÀßÄꤵ¤ì¤¿¥á¥â¥ê¥Ý¥ê¥·¡¼
218 .RB ( set_mempolicy (2)
219 »²¾È) ¤Ë°ãÈ¿¤·¤Æ¤·¤Þ¤¦²ÄǽÀ¤¬¤¢¤ë¡£
220 ¤Ä¤Þ¤ê¡¢¥á¥â¥ê¥Ý¥ê¥·¡¼¤Ï
222 ¤Ç»È¤ï¤ì¤ë°ÜÆ°Àè¥Î¡¼¥É¤òÀ©¸Â¤·¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
226 ¤Ï glibc ¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤ª¤é¤º¡¢
228 ¤«Æ±ÍͤΥѥ屡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ë¡£
230 .BR get_mempolicy (2),
232 .BR set_mempolicy (2),
237 .BR migratepages (8),