OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / draft / man2 / mbind.2
index 77e0e2f..6e6f15b 100644 (file)
 .\"
 .TH MBIND 2 2008-08-15 Linux "Linux Programmer's Manual"
 .\"O .SH NAME
-.SH Ì¾Á°
+.SH 名前
 .\"O mbind \- Set memory policy for a memory range
-mbind \- ¥á¥â¥êÎΰè¤ËÂФ·¤Æ¥á¥â¥ê¥Ý¥ê¥·¡¼¤òÀßÄꤹ¤ë
+mbind \- メモリ領域に対してメモリポリシーを設定する
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B "#include <numaif.h>"
 .sp
@@ -43,10 +43,10 @@ mbind \- 
 .BI "          unsigned " flags );
 .sp
 .\"O Link with \fI\-lnuma\fP.
-\fI\-lnuma\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
+\fI\-lnuma\fP でリンクする。
 .fi
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O .BR mbind ()
 .\"O sets the NUMA memory policy,
 .\"O which consists of a policy mode and zero or more nodes,
@@ -56,14 +56,14 @@ mbind \- 
 .\"O .I len
 .\"O bytes.
 .BR mbind ()
-¤Ï¡¢
+は、
 .I addr
-¤«¤é»Ï¤Þ¤ëŤµ
+から始まる長さ
 .I len
-¥Ð¥¤¥È¤ÎÈϰϤΥá¥â¥ê¤Ë NUMA ¥á¥â¥ê¥Ý¥ê¥·¡¼¤òÀßÄꤹ¤ë¡£
-NUMA ¥Ý¥ê¥·¡¼¤Ï¥Ý¥ê¥·¡¼¥â¡¼¥É¤È 0 ¸Ä°Ê¾å¤Î¥Î¡¼¥É¤«¤é¹½À®¤µ¤ì¤ë¡£
+バイトの範囲のメモリに NUMA メモリポリシーを設定する。
+NUMA ポリシーはポリシーモードと 0 個以上のノードから構成される。
 .\"O The memory policy defines from which node memory is allocated.
-¥á¥â¥ê¥Ý¥ê¥·¡¼¤Ï¤É¤Î¥Î¡¼¥É¤«¤é¥á¥â¥ê¤ò³ä¤êÅö¤Æ¤ë¤«¤ò·èÄꤹ¤ë¡£
+メモリポリシーはどのノードからメモリを割り当てるかを決定する。
 
 .\"O If the memory range specified by the
 .\"O .IR addr " and " len
@@ -79,20 +79,20 @@ NUMA 
 .\"O flag, pages will only be allocated according to the specified
 .\"O policy when the application writes [stores] to the page.
 .I addr
-¤È
+と
 .I len
-¤Ç»ØÄꤵ¤ì¤¿¥á¥â¥êÈϰϤˡ¢
-¥á¥â¥ê¤Î¡Ö̵̾¡×Îΰè \(em
+で指定されたメモリ範囲に、
+メモリの「無名」領域 \(em
 .B MAP_ANONYMOUS
-ÉÕ¤­¤Î
+付きの
 .BR mmap (2)
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥á¥â¥êÎΰè \(em ¤ä
+システムコールを使って作成されたメモリ領域 \(em や
 .B MAP_PRIVATE
-ÉÕ¤­¤Î
+付きの
 .BR mmap (2)
-¤ò»È¤Ã¤Æ¥Þ¥Ã¥×¤µ¤ì¤¿¥á¥â¥ê¥Þ¥Ã¥×¡¦¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
-¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¤Ë´ð¤Å¤¤¤Æ³ä¤êÅö¤Æ¤é¤ì¤ë¤Î¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-¤¬¤½¤Î¥Ú¡¼¥¸¤Ø¤Î½ñ¤­¹þ¤ß (¥Ç¡¼¥¿¤Î³ÊǼ) ¤ò¹Ô¤Ã¤¿»þ¤À¤±¤Ç¤¢¤ë¡£
+を使ってマップされたメモリマップ・ファイルが含まれている場合、
+ページが指定されたポリシーに基づいて割り当てられるのは、アプリケーション
+がそのページへの書き込み (データの格納) を行った時だけである。
 .\"O For anonymous regions, an initial read access will use a shared
 .\"O page in the kernel containing all zeros.
 .\"O For a file mapped with
@@ -101,15 +101,15 @@ NUMA 
 .\"O process policy of the process that causes the page to be allocated.
 .\"O This may not be the process that called
 .\"O .BR mbind ().
-̵̾Îΰè¤Î¾ì¹ç¡¢ºÇ½é¤ÎÆɤ߽Ф·¥¢¥¯¥»¥¹¤ÎºÝ¤Ë¤Ï
-¥«¡¼¥Í¥ëÆâ¤ÎÁ´¥Ç¡¼¥¿¤¬ 0 ¤Ç¤¢¤ë¶¦Í­¥Ú¡¼¥¸¤¬»ÈÍѤµ¤ì¤ë¡£
+無名領域の場合、最初の読み出しアクセスの際には
+カーネル内の全データが 0 である共有ページが使用される。
 .B MAP_PRIVATE
-¤Ç¥Þ¥Ã¥×¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢ºÇ½é¤ÎÆɤ߽Ф·¥¢¥¯¥»¥¹¤¬¤¢¤ë¤È¡¢
-¥Ú¡¼¥¸³ä¤êÅö¤Æ¤¬È¯À¸¤¹¤ë¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¥ê¥·¡¼
-¤Ë¤·¤¿¤¬¤Ã¤Æ¥Ú¡¼¥¸¤Î³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤ë¡£
-¥Ú¡¼¥¸³ä¤êÅö¤Æ¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Ï¡¢
+でマップされたファイルの場合、最初の読み出しアクセスがあると、
+ã\83\9aã\83¼ã\82¸å\89²ã\82\8aå½\93ã\81¦ã\81\8cç\99ºç\94\9fã\81\99ã\82\8bã\81\8dã\81£ã\81\8bã\81\91ã\81¨ã\81ªã\81£ã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\83\9dã\83ªã\82·ã\83¼
+にしたがってページの割り当てが行われる。
+ページ割り当てのきっかけとなったプロセスは、
 .BR mbind ()
-¤ò¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤ÈƱ¤¸¤È¤Ï¸Â¤é¤Ê¤¤¡£
+を呼び出したプロセスと同じとは限らない。
 
 .\"O The specified policy will be ignored for any
 .\"O .B MAP_SHARED
@@ -118,14 +118,14 @@ NUMA 
 .\"O of the process that caused the page to be allocated.
 .\"O Again, this may not be the process that called
 .\"O .BR mbind ().
-»ØÄꤵ¤ì¤¿¥á¥â¥êÈÏ°ÏÆâ¤Ë¤¢¤ë
+指定されたメモリ範囲内にある
 .B MAP_SHARED
-¤Î¥Þ¥Ã¥Ô¥ó¥°¤Ç¤Ï»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¤Ï̵»ë¤µ¤ì¡¢
-¥Ú¡¼¥¸³ä¤êÅö¤Æ¤¬È¯À¸¤¹¤ë¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¥ê¥·¡¼¤Ë
-¤·¤¿¤¬¤Ã¤Æ¥Ú¡¼¥¸¤Î³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£
-·«¤êÊÖ¤·¤Ë¤Ê¤ë¤¬¡¢¥Ú¡¼¥¸³ä¤êÅö¤Æ¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Ï¡¢
+のマッピングでは指定されたポリシーは無視され、
+ページ割り当てが発生するきっかけとなったプロセスのデフォルトポリシーに
+したがってページの割り当てが行われることになる。
+繰り返しになるが、ページ割り当てのきっかけとなったプロセスは、
 .BR mbind ()
-¤ò¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤ÈƱ¤¸¤È¤Ï¸Â¤é¤Ê¤¤¡£
+を呼び出したプロセスと同じとは限らない。
 
 .\"O If the specified memory range includes a shared memory region
 .\"O created using the
@@ -136,16 +136,16 @@ NUMA 
 .\"O pages allocated for the anonymous or shared memory region will
 .\"O be allocated according to the policy specified, regardless which
 .\"O process attached to the shared memory segment causes the allocation.
-.\"Omotoki: Ìõ¤Ë¾¯¤·¤À¤±¼«¿®¤¬¤Ê¤¤¡£
-»ØÄꤵ¤ì¤¿¥á¥â¥êÈϰϤˡ¢
+.\"Omotoki: 訳に少しだけ自信がない。
+指定されたメモリ範囲に、
 .BR shmget (2)
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤Ã¤ÆºîÀ®¤µ¤ì¤¿¤ê¡¢
+システムコールを使って作成されたり、
 .BR shmat (2)
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤Ã¤ÆÉղà(attach) ¤µ¤ì¤¿¤ê¤·¤¿¶¦Í­¥á¥â¥êÎΰ褬
-´Þ¤Þ¤ì¤ë¾ì¹ç¡¢ÌµÌ¾¥á¥â¥êÎΰè¤ä¶¦Í­¥á¥â¥êÎΰè¤ËÂФ¹¤ë¥Ú¡¼¥¸³ä¤êÅö¤Æ¤Ï¡¢
-¶¦Í­¥á¥â¥ê¥»¥°¥á¥ó¥È¤Ø¥Ý¥ê¥·¡¼¤ÎÀßÄê¤ò¹Ô¤Ã¤¿¥×¥í¥»¥¹¤¬¥Ú¡¼¥¸³ä¤êÅö¤Æ
-¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿¤«¤Ë´Ø¤ï¤é¤º¡¢»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¤Ë¤·¤¿¤¬¤Ã¤Æ³ä¤êÅö¤Æ
-¤¬¹Ô¤ï¤ì¤ë¡£
+システムコールを使って付加 (attach) されたりした共有メモリ領域が
+含まれる場合、無名メモリ領域や共有メモリ領域に対するページ割り当ては、
+共有メモリセグメントへポリシーの設定を行ったプロセスがページ割り当て
+のきっかけとなったかに関わらず、指定されたポリシーにしたがって割り当て
+が行われる。
 .\"O If, however, the shared memory region was created with the
 .\"O .B SHM_HUGETLB
 .\"O flag,
@@ -153,33 +153,33 @@ NUMA 
 .\"O only if the page allocation is caused by the process that calls
 .\"O .BR mbind ()
 .\"O for that region.
-¤·¤«¤·¤Ê¤¬¤é¡¢¶¦Í­¥á¥â¥êÎΰ褬
+しかしながら、共有メモリ領域が
 .B SHM_HUGETLB
-¥Õ¥é¥°¤ò»ØÄꤷ¤ÆºîÀ®¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥Ò¥å¡¼¥¸¥Ú¡¼¥¸ (huge page) ¤Î³ä¤êÅö¤Æ¤¬
-»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¤Ë¤·¤¿¤¬¤Ã¤Æ¹Ô¤ï¤ì¤ë¤Î¤Ï¡¢¤½¤ÎÎΰè¤ËÂФ·¤Æ
+フラグを指定して作成された場合には、ヒュージページ (huge page) の割り当てが
+指定されたポリシーにしたがって行われるのは、その領域に対して
 .BR mbind ()
-¤ò¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤¬¥Ú¡¼¥¸³ä¤êÅö¤Æ¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿¾ì¹ç¤Î¤ß¤Ç¤¢¤ë¡£
+を呼び出したプロセスがページ割り当てのきっかけとなった場合のみである。
 
 .\"O By default,
 .\"O .BR mbind ()
 .\"O only has an effect for new allocations; if the pages inside
 .\"O the range have been already touched before setting the policy,
 .\"O then the policy has no effect.
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
+デフォルトでは、
 .BR mbind ()
-¤Ï¿·µ¬¤Î¥á¥â¥ê³ä¤êÅö¤Æ¤ËÂФ·¤Æ¤Î¤ß¸ú²Ì¤ò»ý¤Ä¡£
-¥Ý¥ê¥·¡¼¤¬ÀßÄꤵ¤ì¤ëÁ°¤Ë¤¹¤Ç¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ëÈÏ°ÏÆâ¤Î¥Ú¡¼¥¸¤ËÂФ·¤Æ¤Ï¡¢
-¥Ý¥ê¥·¡¼¤Ï±Æ¶Á¤·¤Ê¤¤¡£
+は新規のメモリ割り当てに対してのみ効果を持つ。
+ポリシーが設定される前にすでに使用されている範囲内のページに対しては、
+ポリシーは影響しない。
 .\"O This default behavior may be overridden by the
 .\"O .B MPOL_MF_MOVE
 .\"O and
 .\"O .B MPOL_MF_MOVE_ALL
 .\"O flags described below.
-¤³¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ï¡¢°Ê²¼¤ÇÀâÌÀ¤¹¤ë¥Õ¥é¥°
+ã\81\93ã\81®ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\81¯ã\80\81以ä¸\8bã\81§èª¬æ\98\8eã\81\99ã\82\8bã\83\95ã\83©ã\82°
 .B MPOL_MF_MOVE
-¤ä
+や
 .B MPOL_MF_MOVE_ALL
-¤Ë¤è¤ê¾å½ñ¤­¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¡£
+により上書きされる可能性がある。
 
 .\"O The
 .\"O .I mode
@@ -196,16 +196,16 @@ NUMA 
 .\"O argument,
 .\"O the node or nodes to which the mode applies.
 .I mode
-°ú¤­¿ô¤Ë¤Ï¡¢
+引き数には、
 .BR MPOL_DEFAULT ,
 .BR MPOL_BIND ,
 .BR MPOL_INTERLEAVE ,
 .B MPOL_PREFERRED
-¤Î¤¤¤º¤ì¤«°ì¤Ä¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+のいずれか一つを指定しなければならない。
 .B MPOL_DEFAULT
-°Ê³°¤Î¥Ý¥ê¥·¡¼¥â¡¼¥É¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤·¸µ¤Ï
+以外のポリシーモードの場合、呼び出し元は
 .I nodemask
-°ú¤­¿ô¤Ç¤½¤Î¥Ý¥ê¥·¡¼¥â¡¼¥É¤òŬÍѤ¹¤ë¥Î¡¼¥É¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£
+引き数でそのポリシーモードを適用するノードを指定する必要がある。
 
 .\"O The
 .\"O .I mode
@@ -215,15 +215,15 @@ NUMA 
 .\"O .I "mode flags"
 .\"O are:
 .I mode
-°ú¤­¿ô¤Ë¤Ï¡¢ÄɲäÇ
-.I "¥â¡¼¥É¥Õ¥é¥°"
-¤ò´Þ¤á¤ë¤³¤È¤â¤Ç¤­¤ë¡£
-¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë
-.I "¥â¡¼¥É¥Õ¥é¥°"
-¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
+引き数には、追加で
+.I "ã\83¢ã\83¼ã\83\89ã\83\95ã\83©ã\82°"
+を含めることもできる。
+サポートされている
+.I "ã\83¢ã\83¼ã\83\89ã\83\95ã\83©ã\82°"
+は以下の通りである。
 .TP
 .\"O .BR MPOL_F_STATIC_NODES " (since Linux-2.6.26)"
-.BR MPOL_F_STATIC_NODES " (Linux-2.6.26 °Ê¹ß)"
+.BR MPOL_F_STATIC_NODES " (Linux-2.6.26 以降)"
 .\"O A nonempty
 .\"O .I nodemask
 .\"O specifies physical node ids.
@@ -232,25 +232,25 @@ NUMA 
 .\"O when the process moves to a different cpuset context,
 .\"O nor when the set of nodes allowed by the process's
 .\"O current cpuset context changes.
-¶õ¤Ç¤Ê¤¤
+空でない
 .I nodemask
-¤Ï¡¢ÊªÍý¥Î¡¼¥É ID ¤Ç¤¢¤ë¡£
-Linux ¤Ç¤Ï¡¢¤½¤Î¥×¥í¥»¥¹¤¬°Û¤Ê¤ë CPU ½¸¹ç¥³¥ó¥Æ¥­¥¹¥È (cpuset context)
-¤Ë°ÜÆ°¤·¤¿¾ì¹ç¤Ç¤â¡¢¤½¤Î¥×¥í¥»¥¹¤Î¸½ºß¤Î CPU ½¸¹ç¥³¥ó¥Æ¥­¥¹¥È¤Ç
-µö²Ä¤µ¤ì¤Æ¤¤¤ë¥Î¡¼¥É½¸¹ç¤¬ÊѲ½¤·¤¿¾ì¹ç¤Ç¤â¡¢
+は、物理ノード ID である。
+Linux では、そのプロセスが異なる CPU 集合コンテキスト (cpuset context)
+に移動した場合でも、そのプロセスの現在の CPU 集合コンテキストで
+許可されているノード集合が変化した場合でも、
 .I nodemask
-¤ò¥Þ¥Ã¥Ô¥ó¥°¤·Ä¾¤¹¤³¤È¤Ï¤Ê¤¤¡£
+をマッピングし直すことはない。
 .TP
 .\"O .BR MPOL_F_RELATIVE_NODES " (since Linux-2.6.26)"
-.BR MPOL_F_RELATIVE_NODES " (Linux-2.6.26 °Ê¹ß)"
+.BR MPOL_F_RELATIVE_NODES " (Linux-2.6.26 以降)"
 .\"O A nonempty
 .\"O .I nodemask
 .\"O specifies node ids that are relative to the set of
 .\"O node ids allowed by the process's current cpuset.
-¶õ¤Ç¤Ê¤¤
+空でない
 .I nodemask
-¤Ï¡¢¤½¤Î¥×¥í¥»¥¹¤Î¸½ºß¤Î CPU ½¸¹ç¤Çµö²Ä¤µ¤ì¤Æ¤¤¤ë¥Î¡¼¥É ID ½¸¹ç
-¤Ë¤ª¤±¤ëÁêÂÐŪ¤Ê¥Î¡¼¥É ID ¤Ç¤¢¤ë¡£
+は、そのプロセスの現在の CPU 集合で許可されているノード ID 集合
+における相対的なノード ID である。
 .PP
 .\"O .I nodemask
 .\"O points to a bitmask of nodes containing up to
@@ -261,14 +261,14 @@ Linux 
 .\"O but the kernel will only use bits up to
 .\"O .IR maxnode .
 .I nodemask
-¤Ï¡¢ºÇÂç¤Ç
+は、最大で
 .I maxnode
-¥Ó¥Ã¥È¤«¤é¹½À®¤µ¤ì¤ë¥Î¡¼¥É¤Î¥Ó¥Ã¥È¥Þ¥¹¥¯¤ò»Ø¤¹¡£
-¥Ó¥Ã¥È¥Þ¥¹¥¯¤ÎÂ礭¤µ¤Ï¡¢Ä¾¶á¤Î
+ビットから構成されるノードのビットマスクを指す。
+ビットマスクの大きさは、直近の
 .I sizeof(unsigned long)
-¤ÎÇÜ¿ô¤ËÀÚ¤ê¾å¤²¤é¤ì¤ë¤¬¡¢¥«¡¼¥Í¥ë¤¬»ÈÍѤ¹¤ë¤Î¤Ï
+の倍数に切り上げられるが、カーネルが使用するのは
 .I maxnode
-¸Ä¤Þ¤Ç¤Î¥Ó¥Ã¥È¤À¤±¤Ç¤¢¤ë¡£
+個までのビットだけである。
 .\"O A NULL value of
 .\"O .I nodemask
 .\"O or a
@@ -280,15 +280,15 @@ Linux 
 .\"O the
 .\"O .I nodemask
 .\"O argument is ignored.
-NULL ÃͤÎ
+NULL 値の
 .I nodemask
-¤â¤·¤¯¤ÏÃͤ¬ 0 ¤Î
+もしくは値が 0 の
 .I maxnode
-¤Ï¥Î¡¼¥É¤Î¶õ½¸¹ç¤òɽ¤¹¡£
+はノードの空集合を表す。
 .I maxnode
-¤ÎÃͤ¬ 0 ¤Î¾ì¹ç¡¢
+の値が 0 の場合、
 .I nodemask
-°ú¤­¿ô¤Ï̵»ë¤µ¤ì¤ë¡£
+引き数は無視される。
 .\"O Where a
 .\"O .I nodemask
 .\"O is required, it must contain at least one node that is on-line,
@@ -298,40 +298,40 @@ NULL 
 .\"O mode flag is specified],
 .\"O and contains memory.
 .I nodemask
-¤¬É¬¿Ü¤Î¾ìÌ̤Ǥϡ¢
+が必須の場面では、
 .I nodemask
-¤Ë¡¢¥ª¥ó¥é¥¤¥ó¤Ç¡¢¤½¤Î¥×¥í¥»¥¹¤Î¸½ºß¤Î CPU ½¸¹ç¥³¥ó¥Æ¥­¥¹¥È¤Ç
-µö²Ä¤µ¤ì¤Æ¤ª¤ê
+に、オンラインで、そのプロセスの現在の CPU 集合コンテキストで
+許可されており
 .RB ( MPOL_F_STATIC_NODES
-¥â¡¼¥É¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç)¡¢¥á¥â¥ê¤¬¤¢¤ë¥Î¡¼¥É¤¬
-¾¯¤Ê¤¯¤È¤â°ì¤ÄÆþ¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+モードフラグが指定されていない場合)、メモリがあるノードが
+少なくとも一つ入っていなければならない。
 
 .\"O The
 .\"O .B MPOL_DEFAULT
 .\"O mode requests that any nondefault policy be removed,
 .\"O restoring default behavior.
-¥â¡¼¥É
+モード
 .B MPOL_DEFAULT
-¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤Ê¤¤¥×¥í¥»¥¹¤Î¥á¥â¥ê¥Ý¥ê¥·¡¼¤òºï½ü¤·¡¢
-¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤ËÌ᤹¤³¤È¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¤¢¤ë¡£
+はデフォルトではないプロセスのメモリポリシーを削除し、
+デフォルトの動作に戻すことを指定するものである。
 .\"O When applied to a range of memory via
 .\"O .BR mbind (),
 .\"O this means to use the process policy,
 .\"O which may have been set with
 .\"O .BR set_mempolicy (2).
 .BR mbind ()
-·Ðͳ¤Ç¡¢¤¢¤ë¥á¥â¥êÎΰè¤ËÂФ·¤Æ
+経由で、あるメモリ領域に対して
 .B MPOL_DEFAULT
-¤¬Å¬ÍѤµ¤ì¤¿¾ì¹ç¡¢¥×¥í¥»¥¹¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¥ê¥·¡¼¤ò»ÈÍѤ¹¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
-¥×¥í¥»¥¹¤Î¥Ç¥Õ¥©¥ë¥È¥Ý¥ê¥·¡¼¤Ï¡¢
+が適用された場合、プロセスのデフォルトポリシーを使用することを意味する。
+プロセスのデフォルトポリシーは、
 .BR set_mempolicy (2)
-¤ÇÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+で変更されているかもしれない。
 .\"O If the mode of the process policy is also
 .\"O .BR MPOL_DEFAULT ,
 .\"O the system-wide default policy will be used.
-¥×¥í¥»¥¹¤Î¥Ý¥ê¥·¡¼¤Î¥â¡¼¥É¤â
+プロセスのポリシーのモードも
 .B MPOL_DEFAULT
-¤Î¾ì¹ç¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥǥե©¥ë¥È¥Ý¥ê¥·¡¼¤¬»ÈÍѤµ¤ì¤ë¡£
+の場合、システム全体のデフォルトポリシーが使用される。
 .\"O The system-wide default policy allocates
 .\"O pages on the node of the CPU that triggers the allocation.
 .\"O For
@@ -341,14 +341,14 @@ NULL 
 .\"O and
 .\"O .I maxnode
 .\"O arguments must be specify the empty set of nodes.
-¥·¥¹¥Æ¥àÁ´ÂΤΥǥե©¥ë¥È¥Ý¥ê¥·¡¼¤Ç¤Ï¡¢³ä¤êÅö¤Æ¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿
-CPU ¤Î¥Î¡¼¥É¤«¤é¥Ú¡¼¥¸¤Î³ä¤êÅö¤Æ¤ò¹Ô¤¦¡£
+システム全体のデフォルトポリシーでは、割り当てのきっかけとなった
+CPU のノードからページの割り当てを行う。
 .B MPOL_DEFAULT
-¤Ç¤Ï¡¢°ú¤­¿ô
+では、引き数
 .I nodemask
-¤È
+と
 .I maxnode
-¤Ë¥Î¡¼¥É¤Î¶õ½¸¹ç¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+にノードの空集合を指定しなければならない。
 
 .\"O The
 .\"O .B MPOL_BIND
@@ -367,22 +367,22 @@ CPU 
 .\"O Pages will not be allocated from any node not specified in the
 .\"O .IR nodemask .
 .B MPOL_BIND
-¤Ï¸·¤·¤¤¥Ý¥ê¥·¡¼¤Ç¡¢¥á¥â¥ê³ä¤êÅö¤Æ¤Ï
+は厳しいポリシーで、メモリ割り当ては
 .I nodemask
-¤Ë»ØÄꤵ¤ì¤¿¥Î¡¼¥É¤Ë¸ÂÄꤵ¤ì¤ë¡£
-¾¤Î¥Î¡¼¥É¤Ø¤Î³ä¤êÅö¤Æ¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£
+に指定されたノードに限定される。
+他のノードへの割り当ては行われない。
 .I nodemask
-¤Ë 2 ¸Ä°Ê¾å¤Î¥Î¡¼¥É¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Ú¡¼¥¸¤Î³ä¤êÅö¤Æ¤Ï
-¥Î¡¼¥É ID ¤¬¿ô»ú¤È¤·¤ÆºÇ¾®¤Î¥Î¡¼¥É¤«¤é³«»Ï¤µ¤ì¡¢
-¤½¤Î¥Î¡¼¥É¤Ë¶õ¤­¥á¥â¥ê¤¬¤Ê¤¯¤Ê¤ë¤Þ¤Ç¤½¤Î¥Î¡¼¥É¤«¤é
-¥Ú¡¼¥¸³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤ë¡£¤½¤Î¥Î¡¼¥É¤Ë¶õ¤­¥á¥â¥ê¤¬¤Ê¤¯¤Ê¤Ã¤¿¤é¡¢
-.\"motoki: the next highest ¤Ï the next lowest ¤Î´Ö°ã¤¤¡©
-¼¡¤Ë¾®¤µ¤Ê¥Î¡¼¥É ID ¤ò»ý¤Ä¥Î¡¼¥É¤«¤é¥Ú¡¼¥¸³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤ë¡£
-¤³¤ì¤ò¡¢
+に 2 個以上のノードが指定された場合、ページの割り当ては
+ノード ID が数字として最小のノードから開始され、
+そのノードに空きメモリがなくなるまでそのノードから
+ページ割り当てが行われる。そのノードに空きメモリがなくなったら、
+.\"motoki: the next highest は the next lowest の間違い?
+次に小さなノード ID を持つノードからページ割り当てが行われる。
+これを、
 .I nodemask
-¤Ç»ØÄꤵ¤ì¤¿Á´¤Æ¤Î¥Î¡¼¥É¤Ç¶õ¤­¥á¥â¥ê¤¬¤Ê¤¯¤Ê¤ë¤Þ¤Ç·«¤êÊÖ¤¹¡£
+で指定された全てのノードで空きメモリがなくなるまで繰り返す。
 .I nodemask
-¤Ç»ØÄꤵ¤ì¤¿°Ê³°¤Î¥Î¡¼¥É¤«¤é¤Ï¥Ú¡¼¥¸¤Î³ä¤êÅö¤Æ¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£
+で指定された以外のノードからはページの割り当ては行われない。
 
 .\"O The
 .\"O .B MPOL_INTERLEAVE
@@ -397,16 +397,16 @@ CPU 
 .\"O Accesses to a single page of the area will still be limited to
 .\"O the memory bandwidth of a single node.
 .B MPOL_INTERLEAVE
-¤Ï¡¢¥á¥â¥ê³ä¤êÅö¤Æ¤¬
+は、メモリ割り当てが
 .I nodemask
-¤Ë»ØÄꤵ¤ì¤¿¥Î¡¼¥É´Ö¤Ç¸ò¸ß¤Ë¹Ô¤ï¤ì¤ë¤³¤È¤ò»ØÄꤹ¤ë¤â¤Î¤Ç¤¢¤ë¡£
-¤³¤Î¥Ý¥ê¥·¡¼¤Ç¤Ï¡¢Ê£¿ô¤Î¥Î¡¼¥É¤Ë¥Ú¡¼¥¸¤ò¹­¤²¤ÆÇÛÃÖ¤·¡¢¤³¤ì¤é¤Î¥Ú¡¼¥¸¤Ø¤Î
-¥á¥â¥ê¥¢¥¯¥»¥¹¤òʬ»¶¤¹¤ë¤³¤È¤Ç¡¢ÃÙ±ä¤Ç¤Ï¤Ê¤¯¡¢ÂÓ°è¤òºÇŬ²½¤¹¤ë¡£
-¸ú²Ì¤òÆÀ¤ë¤Ë¤Ï¡¢¥á¥â¥êÎΰè¤ò¤¢¤ëÄøÅÙÂ礭¤¯¤¹¤Ù¤­¤Ç¤¢¤ê¡¢
-¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥Ñ¥¿¡¼¥ó¤¬¤«¤Ê¤ê¶Ñ°ì¤Ê¾ì¹ç¤Ç¤â
-¾¯¤Ê¤¯¤È¤â 1MB °Ê¾å¤Ë¤¹¤Ù¤­¤Ç¤¢¤ë¡£
-¤³¤Î¥â¡¼¥É¤Ç¤â¡¢°ì¤Ä¤Î¥Ú¡¼¥¸¤Ø¤Î¥¢¥¯¥»¥¹¤Ë´Ø¤·¤Æ¤Ï
-°ì¤Ä¤Î¥Î¡¼¥É¤Î¥á¥â¥êÂӰ褬¾å¸Â¤È¤Ê¤ë¤³¤È¤ÏÊѤï¤ê¤Ê¤¤¡£
+に指定されたノード間で交互に行われることを指定するものである。
+このポリシーでは、複数のノードにページを広げて配置し、これらのページへの
+メモリアクセスを分散することで、遅延ではなく、帯域を最適化する。
+効果を得るには、メモリ領域をある程度大きくすべきであり、
+メモリアクセスのパターンがかなり均一な場合でも
+少なくとも 1MB 以上にすべきである。
+このモードでも、一つのページへのアクセスに関しては
+一つのノードのメモリ帯域が上限となることは変わりない。
 
 .\"O .B MPOL_PREFERRED
 .\"O sets the preferred node for allocation.
@@ -427,21 +427,21 @@ CPU 
 .\"O range of memory via
 .\"O .BR mbind ().
 .B MPOL_PREFERRED
-¤Ï¡¢³ä¤êÅö¤Æ»þ¤ËÍ¥À褵¤ì¤ë¥Î¡¼¥É¤òÀßÄꤹ¤ë¡£
-¥«¡¼¥Í¥ë¤Ï¤Þ¤ºÍ¥Àè¥Î¡¼¥É¤Ë¥Ú¡¼¥¸³ä¤êÅö¤Æ¤ò¹Ô¤ª¤¦¤È¤·¡¢
-Í¥Àè¥Î¡¼¥É¤Ë¶õ¤­¥á¥â¥ê¤¬¾¯¤Ê¤¤¾ì¹ç¤Ë¾¤Î¥Î¡¼¥É¤Ë³ä¤êÅö¤Æ¤ò¹Ô¤¦¡£
+は、割り当て時に優先されるノードを設定する。
+カーネルはまず優先ノードにページ割り当てを行おうとし、
+優先ノードに空きメモリが少ない場合に他のノードに割り当てを行う。
 .I nodemask
-¤ËÊ£¿ô¤Î¥Î¡¼¥É ID ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢
+に複数のノード ID が指定された場合は、
 .I nodemask
-Æâ¤ÎºÇ½é¤Î¥Î¡¼¥É¤¬Í¥Àè¥Î¡¼¥É¤È¤·¤ÆÁªÂò¤µ¤ì¤ë¡£
-°ú¤­¿ô
+内の最初のノードが優先ノードとして選択される。
+引き数
 .IR nodemask ,
 .I maxnode
-¤Ç¶õ½¸¹ç¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¡¢³ä¤êÅö¤Æ¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿ CPU ¤Î¥Î¡¼¥É¤Ë
-¥á¥â¥ê³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤ë¡£
+で空集合が指定された場合は、割り当てのきっかけとなった CPU のノードに
+メモリ割り当てが行われる。
 .BR mbind (2)
-¤Ç¡¢¤¢¤ë¥á¥â¥êÎΰè¤ËÂФ·¤Æ¡Ö¥í¡¼¥«¥ë¤«¤é¤Î³ä¤êÅö¤Æ (local allocation)¡×¤ò
-»ØÄꤹ¤ëÊýË¡¤Ï¤³¤ì¤·¤«¤Ê¤¤¡£
+で、あるメモリ領域に対して「ローカルからの割り当て (local allocation)」を
+指定する方法はこれしかない。
 
 .\"O If
 .\"O .B MPOL_MF_STRICT
@@ -455,25 +455,25 @@ CPU 
 .\"O .B EIO
 .\"O if the existing pages in the memory range don't follow the policy.
 .I flags
-¤Ë
+に
 .B MPOL_MF_STRICT
-¤¬
-»ØÄꤵ¤ì¡¢
+が
+指定され、
 .I mode
-¤¬
+が
 .B MPOL_DEFAULT
-¤Ç¤Ê¤¤¾ì¹ç¡¢
-»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¤Ë½¾¤Ã¤Æ¤¤¤Ê¤¤¥á¥â¥êÎΰè¤Ë¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¤È¡¢
+でない場合、
+指定されたポリシーに従っていないメモリ領域にページが存在すると、
 .BR mbind ()
-¤Ï¥¨¥é¡¼
+ã\81¯ã\82¨ã\83©ã\83¼
 .B EIO
-¤Ç¼ºÇÔ¤¹¤ë¡£
+で失敗する。
 .\" According to the kernel code, the following is not true
 .\" --Lee Schermerhorn
 .\" .\"O In 2.6.16 or later the kernel will also try to move pages
 .\" .\"O to the requested node with this flag.
-.\" 2.6.16 °Ê¹ß¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¤³¤Î¥Õ¥é¥°¤ÇÍ׵ᤵ¤ì¤¿¥Î¡¼¥É¤Ë
-.\" ¥Ú¡¼¥¸¤ò°ÜÆ°¤·¤è¤¦¤È¤¹¤ë¡£
+.\" 2.6.16 以降のカーネルでは、このフラグで要求されたノードに
+.\" ページを移動しようとする。
 
 .\"O If
 .\"O .B MPOL_MF_MOVE
@@ -488,17 +488,17 @@ CPU 
 .\"O .B EIO
 .\"O if some pages could not be moved.
 .I flags
-¤Ë
+に
 .B MPOL_MF_MOVE
-¤¬»ØÄꤵ¤ì¤ë¤È¡¢¥«¡¼¥Í¥ë¤Ï¤½¤Î¥á¥â¥êÎΰèÆâ¤Î´û¸¤ÎÁ´¤Æ¤Î¥Ú¡¼¥¸¤ò°ÜÆ°¤·¡¢
-»ØÄꤵ¤ì¤¿¥Ý¥ê¥·¡¼¤Ë½¾¤¦¤è¤¦¤Ë¤·¤è¤¦¤È¤¹¤ë¡£
-¾¤Î¥×¥í¥»¥¹¤È¶¦Í­¤µ¤ì¤Æ¤¤¤ë¥Ú¡¼¥¸¤Ï°ÜÆ°¤µ¤ì¤Ê¤¤¡£
+が指定されると、カーネルはそのメモリ領域内の既存の全てのページを移動し、
+指定されたポリシーに従うようにしようとする。
+他のプロセスと共有されているページは移動されない。
 .B MPOL_MF_STRICT
-¤â»ØÄꤵ¤ì¤¿¾ì¹ç¡¢°ÜÆ°¤Ç¤­¤Ê¤«¤Ã¤¿¥Ú¡¼¥¸¤¬¤¢¤ë¤È¡¢
+も指定された場合、移動できなかったページがあると、
 .BR mbind ()
-¤Ï¥¨¥é¡¼
+ã\81¯ã\82¨ã\83©ã\83¼
 .B EIO
-¤Ç¼ºÇÔ¤¹¤ë¡£
+で失敗する。
 
 .\"O If
 .\"O .B MPOL_MF_MOVE_ALL
@@ -515,36 +515,36 @@ CPU 
 .\"O .B EIO
 .\"O if some pages could not be moved.
 .I flags
-¤Ë
+に
 .B MPOL_MF_MOVE_ALL
-¤¬»ØÄꤵ¤ì¤ë¤È¡¢¥«¡¼¥Í¥ë¤Ï¤½¤Î¥á¥â¥êÎΰèÆâ¤Î´û¸¤ÎÁ´¤Æ¤Î¥Ú¡¼¥¸¤ò¡¢
-¾¤Î¥×¥í¥»¥¹¤¬¥Ú¡¼¥¸¤ò»ÈÍѤ·¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë´Ø¤ï¤é¤º°ÜÆ°¤¹¤ë¡£
-¤³¤Î¥Õ¥é¥°¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤ÏÆø¢
+が指定されると、カーネルはそのメモリ領域内の既存の全てのページを、
+他のプロセスがページを使用しているかどうかに関わらず移動する。
+このフラグを使用するには、呼び出し元のプロセスは特権
 .RB ( CAP_SYS_NICE )
-¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+を持っていなければならない。
 .B MPOL_MF_STRICT
-¤â»ØÄꤵ¤ì¤¿¾ì¹ç¡¢°ÜÆ°¤Ç¤­¤Ê¤«¤Ã¤¿¥Ú¡¼¥¸¤¬¤¢¤ë¤È¡¢
+も指定された場合、移動できなかったページがあると、
 .BR mbind ()
-¤Ï¥¨¥é¡¼
+ã\81¯ã\82¨ã\83©ã\83¼
 .B EIO
-¤Ç¼ºÇÔ¤¹¤ë¡£
+で失敗する。
 .\" ---------------------------------------------------------------
 .\"O .SH RETURN VALUE
-.SH ÊÖ¤êÃÍ
+.SH 返り値
 .\"O On success,
 .\"O .BR mbind ()
 .\"O returns 0;
 .\"O on error, \-1 is returned and
 .\"O .I errno
 .\"O is set to indicate the error.
-À®¸ù¤¹¤ë¤È¡¢
+成功すると、
 .BR mbind ()
-¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤òÊÖ¤·¡¢
+は 0 を返す。エラーの場合、\-1 を返し、
 .I errno
-¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£
+にエラーを示す値を設定する。
 .\" ---------------------------------------------------------------
 .\"O .SH ERRORS
-.SH ¥¨¥é¡¼
+.SH ã\82¨ã\83©ã\83¼
 .\"  I think I got all of the error returns.  --Lee Schermerhorn
 .TP
 .B EFAULT
@@ -555,12 +555,12 @@ CPU 
 .\"O points outside your accessible address space.
 .\"O Or, there was an unmapped hole in the specified memory range.
 .I nodemask
-¤È
+と
 .I maxnode
-¤Ç»ØÄꤵ¤ì¤¿¥á¥â¥êÎΰè¤Î°ìÉô¤Þ¤¿¤ÏÁ´Éô¤¬¡¢
-¸Æ¤Ó½Ð¤·¸µ¤¬¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
-¤â¤·¤¯¤Ï»ØÄꤵ¤ì¤¿¥á¥â¥êÎΰè¤Ë¥Þ¥Ã¥×¤µ¤ì¤Æ¤¤¤Ê¤¤Éôʬ (unmapped hole)
-¤¬¤¢¤Ã¤¿¡¢
+で指定されたメモリ領域の一部または全部が、
+呼び出し元がアクセス可能なアドレス空間外を指している。
+もしくは指定されたメモリ領域にマップされていない部分 (unmapped hole)
+があった、
 .TP
 .B EINVAL
 .\"O An invalid value was specified for
@@ -568,17 +568,17 @@ CPU 
 .\"O or
 .\"O .IR mode ;
 .I flags
-¤ä
+や
 .I mode
-¤ËÉÔÀµ¤ÊÃͤ¬»ØÄꤵ¤ì¤¿¡£
+に不正な値が指定された。
 .\"O or
 .\"O .I addr + len
 .\"O was less than
 .\"O .IR addr ;
 .I addr + len
-¤¬
+が
 .I addr
-¤è¤ê¾®¤µ¤¤¡£
+より小さい。
 .\"O or
 .\"O .I addr
 .\"O is not a multiple of the system page size.
@@ -590,14 +590,14 @@ CPU 
 .\"O .I nodemask
 .\"O specified a nonempty set;
 .I addr
-¤¬¥·¥¹¥Æ¥à¤Î¥Ú¡¼¥¸¥µ¥¤¥º¤ÎÇÜ¿ô¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¡£
-¤Þ¤¿¤Ï
+がシステムのページサイズの倍数になっていない。
+または
 .I mode
-¤¬
+が
 .B MPOL_DEFAULT
-¤Ç
+で
 .I nodemask
-¤Ë¶õ¤Ç¤Ê¤¤½¸¹ç¤¬»ØÄꤵ¤ì¤¿¡£
+に空でない集合が指定された。
 .\"O or
 .\"O .I mode
 .\"O is
@@ -608,18 +608,18 @@ CPU 
 .\"O .I nodemask
 .\"O is empty.
 .I mode
-¤¬
+が
 .B MPOL_BIND
-¤«
+か
 .B MPOL_INTERLEAVE
-¤Ç
+で
 .I nodemask
-¤¬¶õ¤Ç¤¢¤Ã¤¿¡£
+が空であった。
 .\"O Or,
 .\"O .I maxnode
 .\"O exceeds a kernel-imposed limit.
 .I maxnode
-¤¬¥«¡¼¥Í¥ë¤ËŬÍѤµ¤ì¤¿¾å¸Â¤òĶ¤¨¤Æ¤¤¤ë¡£
+がカーネルに適用された上限を超えている。
 .\" As at 2.6.23, this limit is "a page worth of bits", e.g.,
 .\" 8 * 4096 bits, assuming a 4kB page size.
 .\"O Or,
@@ -627,15 +627,15 @@ CPU 
 .\"O specifies one or more node IDs that are
 .\"O greater than the maximum supported node ID.
 .I nodemask
-¤Ë¡¢¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëºÇÂç¥Î¡¼¥É ID ¤è¤êÂ礭¤¤¥Î¡¼¥É¤¬»ØÄꤵ¤ì¤¿¡£
+に、サポートされている最大ノード ID より大きいノードが指定された。
 .\"O Or, none of the node IDs specified by
 .\"O .I nodemask
 .\"O are on-line and allowed by the process's current cpuset context,
 .\"O or none of the specified nodes contain memory.
 .I nodemask
-¤Ë¡¢¥ª¥ó¥é¥¤¥ó¤Ç¡¢¤«¤Ä¤½¤Î¥×¥í¥»¥¹¤Î¸½ºß¤Î CPU ½¸¹ç¥³¥ó¥Æ¥­¥¹¥È¤Ç
-µö²Ä¤µ¤ì¤Æ¤¤¤ë¥Î¡¼¥É¤¬°ì¤Ä¤â´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢
-¥á¥â¥ê¤ò´Þ¤à¥Î¡¼¥É¤¬°ì¤Ä¤â»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
+に、オンラインで、かつそのプロセスの現在の CPU 集合コンテキストで
+許可されているノードが一つも含まれていないか、
+メモリを含むノードが一つも指定されていない。
 .\"O Or, the
 .\"O .I mode
 .\"O argument specified both
@@ -643,35 +643,35 @@ CPU 
 .\"O and
 .\"O .BR MPOL_F_RELATIVE_NODES .
 .I mode
-°ú¤­¿ô¤Ë
+引き数に
 .B MPOL_F_STATIC_NODES
-¤È
+と
 .B MPOL_F_RELATIVE_NODES
-¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¡£
+の両方が指定された。
 .TP
 .B EIO
 .\"O .B MPOL_MF_STRICT
 .\"O was specified and an existing page was already on a node
 .\"O that does not follow the policy;
 .B MPOL_MF_STRICT
-¤¬»ØÄꤵ¤ì¤¿¤¬¡¢¤³¤Î¥Ý¥ê¥·¡¼¤Ë½¾¤Ã¤Æ¤¤¤Ê¤¤¥Î¡¼¥É¤Ë
-¤¹¤Ç¤Ë¥Ú¡¼¥¸¤¬Â¸ºß¤·¤Æ¤¤¤¿¡£
+が指定されたが、このポリシーに従っていないノードに
+すでにページが存在していた。
 .\"O or
 .\"O .B MPOL_MF_MOVE
 .\"O or
 .\"O .B MPOL_MF_MOVE_ALL
 .\"O was specified and the kernel was unable to move all existing
 .\"O pages in the range.
-¤â¤·¤¯¤Ï
+もしくは
 .B MPOL_MF_MOVE
-¤«
+か
 .B MPOL_MF_MOVE_ALL
-¤¬»ØÄꤵ¤ì¤¿¤¬¡¢¥«¡¼¥Í¥ë¤¬»ØÄꤵ¤ì¤¿ÎΰèÆâ¤Î´û¸¤ÎÁ´¤Æ¤Î¥Ú¡¼¥¸¤ò
-°ÜÆ°¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡£
+が指定されたが、カーネルが指定された領域内の既存の全てのページを
+移動することができなかった。
 .TP
 .B ENOMEM
 .\"O Insufficient kernel memory was available.
-ÍøÍѲÄǽ¤Ê¥«¡¼¥Í¥ë¥á¥â¥ê¤¬½½Ê¬¤Ê¤«¤Ã¤¿¡£
+利用可能なカーネルメモリが十分なかった。
 .TP
 .B EPERM
 .\"O The
@@ -682,39 +682,39 @@ CPU 
 .\"O .B CAP_SYS_NICE
 .\"O privilege.
 .I flags
-°ú¤­¿ô¤Ë
+引き数に
 .B MPOL_MF_MOVE_ALL
-¥Õ¥é¥°¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤¬¡¢¸Æ¤Ó½Ð¤·¸µ¤¬
+フラグが含まれているが、呼び出し元が
 .B CAP_SYS_NICE
-Æø¢¤ò»ý¤¿¤Ê¤¤¡£
+特権を持たない。
 .\" ---------------------------------------------------------------
 .\"O .SH VERSIONS
-.SH ¥Ð¡¼¥¸¥ç¥ó
+.SH バージョン
 .\"O The
 .\"O .BR mbind ()
 .\"O system call was added to the Linux kernel in version 2.6.7.
 .BR mbind ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥Ð¡¼¥¸¥ç¥ó 2.6.7 ¤Ç Linux ¥«¡¼¥Í¥ë¤ËÄɲ䵤줿¡£
+システムコールはバージョン 2.6.7 で Linux カーネルに追加された。
 .\"O .SH CONFORMING TO
-.SH ½àµò
+.SH 準拠
 .\"O This system call is Linux-specific.
-¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux Æȼ«¤Ç¤¢¤ë¡£
+このシステムコールは Linux 独自である。
 .\"O .SH NOTES
-.SH Ãí°Õ
+.SH 注意
 .\"O For information on library support, see
 .\"O .BR numa (7).
-¥é¥¤¥Ö¥é¥ê¤Ë¤è¤ë¥µ¥Ý¡¼¥È¤Ë¤Ä¤¤¤Æ¤Ï
+ライブラリによるサポートについては
 .BR numa (7)
-¤ò»²¾È¡£
+を参照。
 
 .\"O NUMA policy is not supported on a memory mapped file range
 .\"O that was mapped with the
 .\"O .B MAP_SHARED
 .\"O flag.
-NUMA ¥Ý¥ê¥·¡¼¤Ï¡¢
+NUMA ポリシーは、
 .B MAP_SHARED
-¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Æ¥Þ¥Ã¥×¤µ¤ì¤¿¥á¥â¥ê¥Þ¥Ã¥×¡¦¥Õ¥¡¥¤¥ë¤ÎÎΰè¤Ç¤Ï
-¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
+フラグが指定されてマップされたメモリマップ・ファイルの領域では
+サポートされていない。
 
 .\"O The
 .\"O .B MPOL_DEFAULT
@@ -723,11 +723,11 @@ NUMA 
 .\"O and
 .\"O .BR set_mempolicy (2).
 .B MPOL_DEFAULT
-¥â¡¼¥É¤Ï¡¢
+モードは、
 .BR mbind ()
-¤È
+と
 .BR set_mempolicy (2)
-¤Ç°Û¤Ê¤ë¸ú²Ì¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£
+で異なる効果を持つことができる。
 .\"O When
 .\"O .B MPOL_DEFAULT
 .\"O is specified for
@@ -735,10 +735,10 @@ NUMA 
 .\"O the process's policy reverts to system default policy
 .\"O or local allocation.
 .BR set_mempolicy (2)
-¤Ç
+で
 .B MPOL_DEFAULT
-¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥¹¤Î¥Ý¥ê¥·¡¼¤Ï¥·¥¹¥Æ¥à¤Î
-¥Ç¥Õ¥©¥ë¥È¥Ý¥ê¥·¡¼¡¢¤¹¤Ê¤ï¤Á¥í¡¼¥«¥ë¤«¤é¤Î³ä¤êÅö¤Æ¡¢¤ËÌá¤ë¡£
+が指定された場合、そのプロセスのポリシーはシステムの
+デフォルトポリシー、すなわちローカルからの割り当て、に戻る。
 .\"O When
 .\"O .B MPOL_DEFAULT
 .\"O is specified for a range of memory using
@@ -747,17 +747,17 @@ NUMA 
 .\"O the process's policy, as set by
 .\"O .BR set_mempolicy (2).
 .BR mbind ()
-¤ò»È¤Ã¤Æ¥á¥â¥ê¤Î¤¢¤ëÎΰè¤Ë
+を使ってメモリのある領域に
 .B MPOL_DEFAULT
-¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤ÎÈϰϤËÂФ·¤Æ¤½¤ì°Ê¹ß¤Ë¹Ô¤ï¤ì¤ë¥Ú¡¼¥¸¤Î³ä¤êÅö¤Æ¤Ç¤Ï¡¢
+が指定された場合、その範囲に対してそれ以降に行われるページの割り当てでは、
 .BR set_mempolicy (2)
-¤ÇÀßÄꤷ¤¿¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢¤½¤Î¥×¥í¥»¥¹¤Î¥Ý¥ê¥·¡¼¤¬Å¬ÍѤµ¤ì¤ë¡£
+で設定したのと同じように、そのプロセスのポリシーが適用される。
 .\"O This effectively removes the explicit policy from the
 .\"O specified range, "falling back" to a possibly nondefault
 .\"O policy.
-.\"0motoki: possibly nondefault policy ¤Ï default policy ¤Î´Ö°ã¤¤¡©
-¤³¤ì¤Ë¤è¤ê¡¢ÆÃÄê¤Î¥á¥â¥êÎΰè¤Ë¤Ä¤¤¤Æ¤À¤±ÌÀ¼¨Åª¤Ê¥Ý¥ê¥·¡¼¤òºï½ü¤·¡¢
-¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¥ê¥·¡¼¤Ë¡ÖÌ᤹¡×¤³¤È¤¬¤Ç¤­¤ë¡£
+.\"0motoki: possibly nondefault policy は default policy の間違い?
+これにより、特定のメモリ領域についてだけ明示的なポリシーを削除し、
+デフォルトのポリシーに「戻す」ことができる。
 .\"O To select explicit "local allocation" for a memory range,
 .\"O specify a
 .\"O .I mode
@@ -767,39 +767,39 @@ NUMA 
 .\"O This method will work for
 .\"O .BR set_mempolicy (2),
 .\"O as well.
-¤¢¤ë¥á¥â¥êÎΰè¤ËÂФ·¤Æ¡Ö¥í¡¼¥«¥ë¤«¤é¤Î³ä¤êÅö¤Æ¡×¤òÌÀ¼¨Åª¤ËÀßÄꤹ¤ë¤Ë¤Ï¡¢
+あるメモリ領域に対して「ローカルからの割り当て」を明示的に設定するには、
 .I mode
-¤Ë
+に
 .B MPOL_PREFERRED
-¤ò»ØÄꤷ¡¢
+を指定し、
 .I nodemask
-¤Ë¶õ½¸¹ç¤Î¥Î¡¼¥É¤ò»ØÄꤹ¤ì¤Ð¤è¤¤¡£
-¤³¤ÎÊýË¡¤Ï
+に空集合のノードを指定すればよい。
+この方法は
 .BR set_mempolicy (2)
-¤Ç¤âÄÌÍѤ¹¤ë¡£
+でも通用する。
 
 .\"O Support for huge page policy was added with 2.6.16.
 .\"O For interleave policy to be effective on huge page mappings the
 .\"O policied memory needs to be tens of megabytes or larger.
-2.6.16 ¤Ç¥Ò¥å¡¼¥¸¥Ú¡¼¥¸¡¦¥Ý¥ê¥·¡¼¤Ø¤ÎÂбþ¤¬Äɲ䵤줿¡£
-¥¤¥ó¥¿¡¼¥ê¡¼¥Ö¡¦¥Ý¥ê¥·¡¼¤¬¥Ò¥å¡¼¥¸¥Ú¡¼¥¸¤Î¥Þ¥Ã¥Ô¥ó¥°¤Ç¸ú²Ì¤ò»ý¤Ä¤Ë¤Ï¡¢
-¥Ý¥ê¥·¡¼¤¬Å¬ÍѤµ¤ì¤ë¥á¥â¥ê¤¬¿ô½½¥á¥¬¥Ð¥¤¥È°Ê¾å¤Ç¤¢¤ëɬÍפ¬¤¢¤ë¡£
+2.6.16 でヒュージページ・ポリシーへの対応が追加された。
+インターリーブ・ポリシーがヒュージページのマッピングで効果を持つには、
+ポリシーが適用されるメモリが数十メガバイト以上である必要がある。
 
 .\"O .B MPOL_MF_STRICT
 .\"O is ignored on huge page mappings.
 .B MPOL_MF_STRICT
-¤Ï¥Ò¥å¡¼¥¸¥Ú¡¼¥¸¤Î¥Þ¥Ã¥Ô¥ó¥°¤Ç¤Ï̵»ë¤µ¤ì¤ë¡£
+はヒュージページのマッピングでは無視される。
 
 .\"O .B MPOL_MF_MOVE
 .\"O and
 .\"O .B MPOL_MF_MOVE_ALL
 .\"O are only available on Linux 2.6.16 and later.
 .B MPOL_MF_MOVE
-¤È
+と
 .B MPOL_MF_MOVE_ALL
-¤Ï Linux 2.6.16 °Ê¹ß¤Ç¤Î¤ßÍøÍѲÄǽ¤Ç¤¢¤ë¡£
+は Linux 2.6.16 以降でのみ利用可能である。
 .\"O .SH SEE ALSO
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR get_mempolicy (2),
 .BR getcpu (2),
 .BR mmap (2),