28th Sun
epollのソースを読む
masuidrive
さんからeventmachineの挙動が不振だという相談を受けたので、
昔取った杵柄で色々調べてみています。
結局の所、EPOLL_CTL_ADD したあとに、epoll_waitがEPOLLIN
になるまでにかかる時間が、稀に1000ミリ秒程度かかる事があるというのが
問題のようでした。
なぜかKQUEUEでも同様の問題が発生するようなのですが、
とりあえずは比較的親しみ深いepollの方を調べてみる事に。
epollの実装は、linuxカーネルの中にあります。
なので、linuxカーネルのソースをインストールします。
pre>>
aptitude install linux-source-2.6.18
<<--
/usr/srcの下に圧縮されたカーネルのソースがインストールされるので、
展開します。
epoll関連のソースコードは、fs/eventepoll.cにあります。
posted by
genki on Sun 28 Dec 2008 at 04:37 with 0 comments