On Thu, 01/22 13:12, Andy Lutomirski wrote:
On Wed, Jan 21, 2015 at 3:50 AM, Paolo Bonzini [off-list ref] wrote:
quoted
On 21/01/2015 12:14, Fam Zheng wrote:
quoted
quoted
My take for simplicity will be leaving epoll_ctl as-is, and my take for
performance will be epoll_pwait1. And I don't really like putting my time on
epoll_ctl_batch, thinking it as a ambivalent compromise in between.
quoted
I agree with Michael actually. The big change is going from O(n)
epoll_ctl calls to O(1), and epoll_ctl_batch achieves that just fine.
Changing 2 syscalls to 1 is the icing on the cake, but we're talking of
a fraction of a microsecond.
Maybe I'm missing something, but in common cases, the set of fds for epoll_wait
doesn't change that radically from one iteration to another, does it?
That depends on the application.
In my application, the set of fds almost never changes, but the set of
events I want changes all the time. The main thing that changes is
whether I care about EPOLLOUT. If I'm ready to send something, then I
want EPOLLOUT. If I'm not ready, then I don't want EPOLLOUT.
OK, I'll split it to epoll_ctl_batch and epoll_pwait1 as Micheal suggested in
v2.
Fam