2012-03-06 8 views
1

私はepollの2つのAPIのパラメータについて疑問を抱いていました。epoll_createとepoll_wait

  1. epoll_create(int size) - このAPIでは、サイズはイベントプールのサイズとして定義されます。しかし、サイズよりも多くの出来事がまだ残っているようです。 (私は2としてサイズを入れて3イベントを強制的にイベントプール...しかし、それはまだ動作しますか?)私はこのパラメータが実際に意味し、このパラメータの最大値について興味があるのだろうかと思っていた。

  2. epoll_wait(int maxevents) - このAPIでは、maxeventsの定義は簡単です。しかし、私は情報の不足やこのパラメータの決定方法に関するアドバイスを見ることができます。 epollイベントプールのサイズの大きさに応じて、このパラメータを変更する必要があります。どんな提案や助言も素晴らしいでしょう。ありがとうございました!

答えて

0

1.

"男のepoll_create"

 
DESCRIPTION 
     ... 
     The size is not the maximum size of the backing store but just a hint 
     to the kernel about how to dimension internal structures. (Nowadays, 
     size is unused; see NOTES below.) 

NOTES 
     Since Linux 2.6.8, the size argument is unused, but must be greater 
     than zero. (The kernel dynamically sizes the required data struc‐ 
     tures without needing this initial hint.) 

2.

ただ、自分で正確な数を決定するが、それに小さな数を与え が低下することがあることに注意してください効率を少し上げてください。

"maxevent"に割り当てられる数値が小さいほど、epollにすでにキューイングされているすべてのイベントを消費するためにepoll_wait()を呼び出す必要があることが多いかもしれません。

関連する問題