一月以上前にJMにバグ報告したのだけれど、まったく音沙汰なし。
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まで議論をあげるつもりなので、
同時に元ドキュメントに対する修正案も募集します。