[ https://issues.apache.org/jira/browse/PROTON-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clifford Jansen resolved PROTON-2130. ------------------------------------- Resolution: Fixed > Improve epoll_wait processing in epoll proactor > ----------------------------------------------- > > Key: PROTON-2130 > URL: https://issues.apache.org/jira/browse/PROTON-2130 > Project: Qpid Proton > Issue Type: Improvement > Components: proton-c > Affects Versions: proton-c-0.29.0 > Reporter: Clifford Jansen > Assignee: Clifford Jansen > Priority: Major > > Change epoll proactor to use epoll_wait() more efficiently and more > canonically. > Old way: each thread without work called epoll_wait() for 1 event. > New: when known work exhausted, only one thread calls epoll_wait for N events > and schedules work for the other threads to execute. > The downside to the old way is that for each event, all threads in > epoll_wait() are woken up but only one "wins" (obtaining the event to > process) while the rest go back to sleep. > In addition to wasteful use of cpu, this behavior also shows up in > performance monitoring tools and clutters the analysis of profiling data and > flame graphs. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org