Messages in this thread | | | From | Davidlohr Bueso <> | Subject | [PATCH -next 0/2] fs/epoll: loosen irq safety when possible | Date | Fri, 20 Jul 2018 10:29:54 -0700 |
| |
Hi,
Both patches replace saving+restoring interrupts when taking the ep->lock (now the waitqueue lock), with just disabling local irqs. This shows immediate performance benefits in patch 1 for an epoll workload running on Xen. The main concern we need to have with this sort of changes in epoll is the ep_poll_callback() which is passed to the wait queue wakeup and is done very often under irq context, this patch does not touch this call.
Patches have been tested pretty heavily with the customer workload, microbenchmarks, ltp testcases and two high level workloads that use epoll under the hood: nginx and libevent benchmarks.
Details are in the individual patches.
Applies on top of mmotd.
Thanks!
Davidlohr Bueso (2): fs/epoll: loosen irq safety in ep_scan_ready_list() fs/epoll: loosen irq safety in epoll_insert() and epoll_remove()
fs/eventpoll.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-)
-- 2.16.4
| |