masuidrive さんからeventmachineの挙動が不振だという相談を受けたので、 昔取った杵柄で色々調べてみています。

結局の所、EPOLL_CTL_ADD したあとに、epoll_waitがEPOLLIN になるまでにかかる時間が、稀に1000ミリ秒程度かかる事があるというのが 問題のようでした。 なぜかKQUEUEでも同様の問題が発生するようなのですが、 とりあえずは比較的親しみ深いepollの方を調べてみる事に。

epollの実装は、linuxカーネルの中にあります。 なので、linuxカーネルのソースをインストールします。

   1  # aptitude install linux-source-2.6.18

/usr/srcの下に圧縮されたカーネルのソースがインストールされるので、 展開します。

epoll関連のソースコードは、fs/eventepoll.cにあります。

posted by Png genki on Sun 28 Dec 2008 at 04:44

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry1163
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ