August 2009

一月以上前に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まで議論をあげるつもりなので、
同時に元ドキュメントに対する修正案も募集します。

さだださんと雑談していて、Solarisはページフォルトで寝ているとtopのステータスにそう表示されるから便利とかいう話に。

それLinuxでも出来るよ。wchan表示したら、スリープしてる関数名表示されるから一発だよ。
やりかた

top を起動
f キーを押す(表示項目設定画面に遷移)
y キーを押す(wchanを有効化)
ESC キーを押す(topの表示画面に戻る)

ささださんの日記(http://www.atdot.net/~ko1/diary/200908.html#cs-22)でsodaさんにコメントもらったけど
現在のglibcは posix_madvise(POSIX_MADV_DONTNEED) が呼ばれた時に単に無視している。
Linuxのmadvise(MADV_DONTNEED) がPOSIX違反なのは知ってたけど、これは気づかなかった。

glibc-2.10.1/sysdeps/unix/sysv/linux/posix_madvise.c

int
posix_madvise (void *addr, size_t len, int advice)
{
/* We have one problem: the kernel's MADV_DONTNEED does not
correspond to POSIX's POSIX_MADV_DONTNEED. The former simply
discards changes made to the memory without writing it back to
disk, if this would be necessary. The POSIX behavior does not
allow this. There is no functionality mapping the POSIX behavior
so far so we ignore that advice for now. */
if (advice == POSIX_MADV_DONTNEED)
return 0;

INTERNAL_SYSCALL_DECL (err);
int result = INTERNAL_SYSCALL (madvise, err, 3, addr, len, advice);
return INTERNAL_SYSCALL_ERRNO (result, err);
}



でも、普通の人は posix_madvise() じゃなくて、 madvise() 使ってるからこんな修正
全然意味ないよ。
POSIX互換テスト対策にすぎないんじゃね。という気がするな

SSDのTRIMコマンドがクソうせー。ゲロ以下だぜ。
とか話をしている。

Mark Lord がDISCARDリクエストを全面書き直ししよーぜーとか言ってて
Chris WorleyがそんなクソSSDはすぐなくなるから無視しようぜとか言ってる。
そのときのMark Lord の台詞が以下。

Chris Worley wrote:
..
> The OS should not assume a dumb algorithm on the part of the drive.
..

Welcome to the Real World.



皮肉効き過ぎ

manページのメンテナMichaelが本を書くから宣伝してよとメールしてきたので、さくっと貼っとく。
64章、1500ページってどんだけーー

Gidday!

You are receiving this mail because:
a) I'm the maintainer of the man-pages project
(http://www.kernel.org/doc/man-pages/);
b) you've (directly or indirectly) contributed to the project during
my tenure as maintainer; and
c) because of (b), the topic of this mail may be of interest to you.

During the last few years I've been working on a book on Linux and
Unix system programming--in other words, a book that covers many of
the same areas as the man-pages project. This book is finally nearing
completion. It will be published in the first half of 2010 by No
Starch press (http://www.nostarch.com/.)

The book is intended to be comprehensive: it has 64 chapters, 116
diagrams, 85 tables, around 250 program listings, and it will run to
about 1500 pages (precise number depends on typesetting). I'm running
a blog about the book and its ongoing progress towards publication.
The blog is at http://blog.man7.org/. (The surrounding website at that
domain has yet to be built out.) In particular, there are two posts
that give an overview of the book and its contents:
http://blog.man7.org/2009/07/whats-book-about.html
http://blog.man7.org/2009/07/64-chapters.html
and over the next couple of months I'm posting the detailed table of
contents of each chapter. (In the next few weeks I expect to start
getting typeset chapters from the publisher, and I hope soon after
that to be able to post one or two for public viewing.)

As with any book, getting the word out matters a great deal. Please
feel free to post comments at blog.man7.org, blog about my blog on
your blog, or simply forward this mail to people who you think may be
interested in the book. And of course, let me know if you have
questions about the book.

You'll notice that the blog still doesn't mention a title for the
book. That's because the publisher and I still haven't worked out
precisely what it will be. (We're tossing up between a few ideas.) The
book title will be the subject of a future post. If, after learning
more from the blog, you have title ideas, please feel free to
suggestions to me.

Finally, in case you are concerned that you've been added to some list
that will result in you receiving lots of mail from me, don't worry.
This is a near-one-time announcement. Most of you will get exactly one
more mail from me (unless I know you via some other channel than
man-pages), when the book is actually on bookshelves in 2010.

Best regards,

Michael

PS Apologies if you received more than one copy of this mail. Some of
you contributed to man-pages under more than one email address, and
I'm not sure which address is current, or is your primary address.

--
Watch my book progress to publication! http://blog.man7.org/


ちょっと書くのが遅れた。
セプキャンLinux組の若林君もキャンプ後に自力で残作業を完了。先日LKMLデビューしました。

http://marc.info/?l=linux-kernel&m=125096010901160&w=2


これで3人目。
たぶん、LKMLに日本人デベロッパーって20人ぐらいしかいないから、いきなり1.5割増しですね。うひ

rc7 出ましたね。来週ぐらいにリリースかな

http://lkml.org/lkml/2009/8/21/446

ちなみに、


KOSAKI Motohiro (1):
mm: revert "oom: move oom_adj value"


このパッチは David Rientjes が半年ぐらいかけて取り組んできたOOM killerのライブロック問題の改善関係の都合4パッチを根こそぎrevertするという結構ひどいパッチ。revertした理由は、ぼうやだから。ではなくregressionを直さなかったので、オレが書き直す宣言をして落とした。
-mmにはkosaki バージョンがすでにキューイングされているので、2.6.32でマージされるはず。

ちなみに、kosaki バージョンはOOM adj とOOM scoreをプロセス単位で計算するように変えたので
ユーザ空間からは取り扱いが単純になるよ。
非互換なのは気にしない。

教訓はこういう大きいパッチをセプキャンの最中にやると死にそうになるので、セプキャン始まる前に仕事は全部終わらしておこう。ってことか。むにゃむにゃ。

KVM使うのに、ブリッジとかめんどい(&最新カーネルでたまに不安定になる)ので、ネットワークカードを追加購入して、ゲスト専用カードにすることを検討しています。

誰か、オススメがあれば紹介してくださいませ。
ついでに、はてなでも質問たててみた。

http://q.hatena.ne.jp/1250602371

Tatsuhiro Aoshima ってのは、プログラミングキャンプ2009に参加した中学生ハッカー。これがマージされればLKMLの平均年齢が相当下がるな。

詳しくは以下のリンクをみてね。


2009/08/16 Linux Kernel Podcast
http://www.kernelpodcast.org/2009/08/18/20090816-linux-kernel-podcast/

On another security related note, David Wagner drew attention to a security paper from this year’s USENIX playing up the impact of making various files world readable in the task directories under /proc. In one case, they are able to use the ESP and EIP information from a task stat file to recover information about another user’s keystrokes, which is potentially a security issue. This said, there have long been patches available (such as grsecurity) that hide various process statistics from other users, and it would be relatively trivial to adapt one of these for mainstream consumption. Co-incidentally, Kosaki Motohiro posted a patch (from Tatsuhiro Aoshima) adding more statistics to the aforementioned state file, for user time and system time consumed by the task. One awaits the next alarmist paper.


この流れに笑った


799 名前:login:Penguin[sage] 投稿日:2009/08/17(月) 11:35:22 ID:/cA/EyFg
2.6.29→2.6.30でUSBまわりって大きく変わった?
まったく同じconfigで作ってもfriioがUSBエラーを吐きまくるようになったんだが…

800 名前:login:Penguin[sage] 投稿日:2009/08/17(月) 11:41:28 ID:ohk2Aoag
linus-treeにマージされてないと大変だね。
カーネルのABIが変わっても自分で調べて直さなきゃならないし、
作者の興味が無くなったらそこで終了。

801 名前:login:Penguin[sage] 投稿日:2009/08/17(月) 12:22:17 ID:B4Bxz+2u
マージしたらいいのに。ドライバならGregはすぐマージしてくれるよ

802 名前:login:Penguin[sage] 投稿日:2009/08/17(月) 12:25:45 ID:uz6wkSgr
  イ`ヘ
 /: :| ヽ
/ : :/  ヽ ___   _,,,:. .-: :´彡フ
_ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 /
      ( : : : : : : : : : : : : : : `ゝ  /
  マ  r::/: /: : | : : : : : : : : ::\ /
  |  //: /: : : |: : | |: : |: _: : : :ヽ
  ジ  {/ 7|`\/i: /|:|/|´: : : : :|ヽ
     〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: |
  で / r:oヽ`    /.:oヽヽ: :|: | :|
     { {o:::::::}     {:::::0 }/: :|N
  っ  | ヾ:::ソ     ヾ:::ソ /|: : |
 !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ
-tヽ/´|`::::::::::;/   `、 ::::::::::: /: i }  >
::∧: : :|: |J   \   /   /::i: | /_ゝ
. \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::|
   ヽ: |::|\     ̄/ /|  |: : :|: |

805 名前:login:Penguin[sage] 投稿日:2009/08/17(月) 13:58:45 ID:Pk6+wyDO
>>802
うけたw

806 名前:login:Penguin[sage] 投稿日:2009/08/17(月) 14:03:50 ID:F9Hxs/Y9
>>802
  イ`ヘ
 /: :| ヽ
/ : :/  ヽ ___   _,,,:. .-: :´彡フ
_ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 /
  ま  ( : : : : : : : : : : : : : : `ゝ  /
     r::/: /: : | : : : : : : : : ::\ /
  ふ  //: /: : : |: : | |: : |: _: : : :ヽ
   ぃ {/ 7|`\/i: /|:|/|´: : : : :|ヽ
      〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: |
  ふ / r:oヽ`    /.: oヽヽ:|: | :|
   ぇ { {o:::::::}     {:::::::0 ヽ: :|N
  っ  | ヾ:::ソ     ヾ:::::::ン ゝ|_ノ´ ̄`¨ヽ
 !? ヽ::::TT..  ィ――--ァT´弋_,.,ィー-
-tヽ/´|`::::| |::;/     /:| |:::: /:i つ \__
::∧: : :|: |J | | \   / | |/::i: | 二ン
. \ヾ: |::|` - ,, ___ ̄ ̄_ ,, -´|: : :|:::|
   ヽ: |::|\     ̄/ /|  |: : :|: |
    _,,,ヽ_ヘ_,,_ノ^レ,,_....



↑このページのトップヘ