ML自体が死んでいるっぽい
しかたがないので、こっちに貼っておく。
まあ“CPU 集合コンテキスト”でも困らないのかもしれんがのぅ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
今気づいたのですが、mbindのman http://www.linux.or.jp/JM/html/LDP_man-pages/man2/mbind.2.html
に1点、問題があるようです。
以下で「CPU 集合コンテキスト」という訳語が使われていますが、ここで出てくるcpusetは
cpusetというLinux kernelの機能ですので、訳してはいけません。「cpusetコンテキスト」
とするのが正しいです。
MPOL_F_STATIC_NODES (Linux-2.6.26 以降)
空でない nodemask は、物理ノード ID である。 Linux では、そのプロセスが異なる
CPU 集合コンテキスト (cpuset context) に移動した場合でも、そのプロセスの現在の
CPU 集合コンテキストで許可されているノード集合が変化した場合でも、
nodemask をマッピングし直すことはない。
MPOL_F_RELATIVE_NODES (Linux-2.6.26 以降)
空でない nodemask は、そのプロセスの現在の CPU 集合で許可されているノード
ID 集合における相対的なノード ID である。
具体的に説明します。あるマシンが4つのメモリノードを持っていたとします。
それぞれ0-3までのnode idがアサインされているとしましょう。
そして、
# mount -t cgroup -o cpuset none /cpuset
# mkdir /cpuset/cpuset-A
# echo 2-3 > /cpuset/cpuset-A/cpuset.mems
# echo $$ > /cpuset/cpuset-A/tasks
のように、プロセスをノード2と3にバインドしたとします。
すると、以下のように、MPOL_F_RELATIVE_NODESでのノード1はノード3を
意味するようになります。
ノードID 0 1 2 3
---------------------------------------
MPOL_F_STATIC_NODES: 0 1 2 3
MPOL_F_RELATIVE_NODES: - - 0 1
1年以上も前にちょっとだけ関わったパッチのmanがいつのまにか出来ていて、
日本語化までされていたこともビックリですが、これは元のmanがイマイチ
ですよねぇ。
そういうわけでお手数ですが、修正お願い出来ますでしょうか。
以下余談。
CPUSETの名前はLinux のソースツリー上でも若干の混乱があり、ソースのファイル名は
kernel/cpuset.c に対してドキュメントのファイル名は Documentation/cgroups/cpusets.txt
になっており、かつ、ドキュメント内では CPUSETS, Cpusets, cpusets が混在している
ので、英語圏の人が読んでも分からないのではないかしら。
cpuset contextという用語がこのmanにしか使われていないにもかかわらず、
用語定義ないし。
そういうわけで、いい案があれば、linux-manまで議論をあげるつもりなので、
同時に元ドキュメントに対する修正案も募集します。