Samuel,

While running a few tests with Christopher's patch in order to integrate
it, I managed to find a case where I'm still seeing quite a number of
calls to epoll_wait(0)=0. Studying the patch, I found that there's a
corner case which it doesn't address, which is where an fd is processed
and removed from the cache. By changing the test a little bit, I managed
to reduce the number of empty calls to epoll_loop by about 1/3 on my test
case. But I've also just noticed that at too low loads I can now miss some
events so I'm not sharing it now. And I don't know if the remaining ones
wakeups are valid so I want to study all this compared to a single-threaded
test.

It's possible that sometimes we wake up too aggressively even maybe for
the tasts, though that's pure speculation.

We'll keep you updated on this.

Cheers,
Willy

Reply via email to