[-next,0/6] epoll: some miscellaneous optimizations
mbox series

Message ID 20181108051006.18751-1-dave@stgolabs.net
Headers show
  • epoll: some miscellaneous optimizations
Related show


Davidlohr Bueso Nov. 8, 2018, 5:10 a.m. UTC

The following are some incremental optimizations on some of the epoll
core. Each patch has the details, but together, the series is seen
to shave off measurable cycles on a number of systems and workloads.

For example, on a 40-core IB, a pipetest as well as parallel epoll_wait()
benchmark show around a 20-30% increase in raw operations per second when
the box is fully occupied (incremental thread counts), and up to 15%
performance improvement with lower counts.

Passes ltp epoll related testcases. Please consider for v4.21/5.0.


Davidlohr Bueso (6):
  fs/epoll: remove max_nests argument from ep_call_nested()
  fs/epoll: simplify ep_send_events_proc() ready-list loop
  fs/epoll: drop ovflist branch prediction
  fs/epoll: robustify ep->mtx held checks
  fs/epoll: reduce the scope of wq lock in epoll_wait()
  fs/epoll: avoid barrier after an epoll_wait(2) timeout

 fs/eventpoll.c | 206 ++++++++++++++++++++++++++++++---------------------------
 1 file changed, 108 insertions(+), 98 deletions(-)