なんか-j8でkbuildしても結構問題ないので、例のパッチは落とす方向で。あるいはnoautogoupしてsys.kernel.sched_auto_group=1とか。
2010-11-22 18:50:29みんなよくわかってない感あるけどあのパッチ大盛況ね… [02/20 カーネル/VM探検隊@関西 参加者・開催場所・UST機材募集中 http://bit.ly/czPjYL ]
2010-11-22 22:38:56ほんとに漢字変換とかレンダリングとか「他になにも作業しているものがないのに」速くなるんだろかね…。 [02/20 カーネル/VM探検隊@関西 参加者・開催場所・UST機材募集中 http://bit.ly/czPjYL ]
2010-11-22 22:39:41とはいえ、自分もスケジューラちゃんとわかってるわけでないけど [02/20 カーネル/VM探検隊@関西 参加者・開催場所・UST機材募集中 http://bit.ly/czPjYL ]
2010-11-22 22:40:42@kaorin_linux ですっけ? 「ロック」の意味にもよりますけど、ざっと読んだ感じ「データとしてのロック」に触ってる様子はなかったような…。 [02/20 カーネル/VM探検隊@関西 参加者・開催場所・UST機材募集中 http://bit.ly/czPjYL ]
2010-11-22 22:42:05多分 「with strain」がぬけてるのがあれなのかにゃあ。まぁ… [02/20 カーネル/VM探検隊@関西 参加者・開催場所・UST機材募集中 http://bit.ly/czPjYL ]
2010-11-22 22:46:55@kaorin_linux まず前提として gihyo のに貼ってた動画は裏で make -j64でカーネルコンパイルして負荷を高めてあります。Linux の今のスケジューラはComplete Fairに全てのプロセスに均等にCPU時間があたるような状態を目指します。
2010-11-22 22:52:28@kaorin_linux たとえば100個プロせスあったら1/100ずつとかですね。64個並行にが走ってるのでまぁ64/100がコンパイル作業に使われます。ここで、コンパイルするやつらを1つのグループにまとめます。すると、まずグループ毎に均等にCPU時間が分けられます。
2010-11-22 22:54:31@kaorin_linux そうすると、コンパイル達全体も、その他のやつらも(その他が全部1プロセス1グループとして)1/37の割当てになりますよね。と…ここまでは今までのカーネルにもあったんですが…この1グループにまとめるってのがちょっとめんどい、と (rootもいりますし)
2010-11-22 22:57:44@kaorin_linux それを tty ごとに勝手にグループ切るようにしてやったらコンパイルなやつらはみんな同じ tty で動いてるんでなにもしなくてもまとまってくれますね、やったね! というパッチだと思います。
2010-11-22 22:58:52@kaorin_linux Ubuntu でのデスクトップだと基本的に「端末開くごとに新しいのが1つ増える」感じですね。ようするにコマンドの出力入力場所ごとに、です。
2010-11-22 23:04:54@kaorin_linux 基本はそうです。だいたい一番上には xterm だとか agetty だとか urxvt とかがきます。その他の GUIアプリは tty 切り離してそうなんでいまいちわからんですが…多分全部別 tty 扱いなんかな…。
2010-11-22 23:09:11@naota344 GUI関係というか、メインのプロセスは別ttyじゃないかな、とは思うんだけど。フォークするときに親のプロセス情報渡すみたいだから。 だとすると、まあ、ひと手間減って、そこが結構コスト掛かってた、ってことかね。
2010-11-22 23:10:54@naota344 スケジューラの仕事が減って、プロセスへのCPUの割り当てがスムーズになるって効果が期待できんじゃねぇの、たぶん。結果、引っかかり、がなくなる可能性は高いわな。「速くなった」ように見える。
2010-11-22 23:15:15@naota344 64プロセスが1グループってのは極端な例としても、これまで親を辿らないとグループ化出来なかったのが、例えばttyのIDだけ見ればOKとかになれば、プロセス数が増えれば増えただけ効くよね。
2010-11-22 23:17:39@kaorin_linux いや、スケジューラの手間は減ってないでしょう。親を辿ってグループというわけでもないですし。むしろ patch では fork する時に手をいれて、「グループ作成」->「そこに登録」ということをしてますから fork の時の手間は増えてます。
2010-11-23 00:03:37@kaorin_linux どのグループになってるかは個々のプロセスの情報が持ってるので、辿る必要は全くないです。大事なのは「いっぱい子プロセス作るやつ」がひとかたまりでスケジューリングされる(しかも勝手に)ことだと思います。
2010-11-23 00:06:36@kaorin_linux xterm とかは明確に「疑似端末」を要求して別ttyになってるんですが、 サーバとして動くものとか GUI とかCUIでの入出力しないのがありますよね。そいつらはどの tty にも関連付けないのです。(psで見たら "?"になります)
2010-11-23 00:09:05