☆Linux カーネルの仕組みを勉強するスレ☆
■ このスレッドは過去ログ倉庫に格納されています
0177login:Penguin
01/11/14 00:46ID:IRaPmSaY> 使えなくなるような気がするのだけど。
その通り。UNIX のスケジューラは、どれも基本的には、こうなっているよ。
Linux だってそう。嘘だと思ったらスケジューラのソースを読んでくれ。
ところが、基本的にはそうなっている筈なのに、なぜか CPU intensive な
プロセスが CPU を掴んで離さないことがあるのが変だって話をしてるわけ。
その原因として Linux に sleep priority がない (他の UNIX には、全て
ある) ことを疑っているんだけど、本当にこれが原因なのかどうかは実は
検証したわけじゃないので良く分からない。濡れ衣かもしれない。
あと、今回の件は wake one とか zero copy とか bounce buffer なしとか
は、たぶん関係ないよ。どうしてそう想像できるかは、
・使ったハードは、今どきの Intel CPU に Intel EtherExpress PRO
・CPU intensive なプロセスと I/O intensive なプロセスがそれぞれ 1 つ
ずつでも発生した
・Linux と Solaris や BSD を比べた
・少なくとも直接の原因はスケジューリングにあった
ってことから導けるんだけど、面倒だからこれ以上の説明は省略。
これだけ書いとけば、あとは自分で考えれば分かる筈だからね。
■ このスレッドは過去ログ倉庫に格納されています