[ https://issues.apache.org/jira/browse/PROTON-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17090267#comment-17090267 ]
ASF subversion and git services commented on PROTON-2130: --------------------------------------------------------- Commit 9e1990b1345f9917648659399f198e74fba7d5d7 in qpid-proton's branch refs/heads/master from Andrew Stitcher [ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=9e1990b ] PROTON-2130: epoll reworking: - Only keep fd in epoll_extended_t remove from ptimer_t, psocket_t - Remove backpointers and consistently use structure embedding to go from: psocket->pconnection; psocket->pn_listener; psocket->acceptor; pcontext->pconnection; pcontext->pn_listener; pn_event_batch->pn_proactor; pn_batch_event->pn_listener; pn_batch_event->pconnection; - Move address string from being stored in psocket to being stored in pconnection and pn_listener - saves strings for multiple listening sockets - Rationalise post_event by switching on event types instead of the previous ad hoc event type detection. > 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