Message ID | 1592575168-16881-1-git-send-email-hkalra@marvell.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Thomas Monjalon |
Headers | show |
Series | [v2] eal: fix epoll fd list rebuild | expand |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-nxp-Performance | success | Performance Testing PASS |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/travis-robot | success | Travis build: passed |
ci/iol-testing | success | Testing PASS |
19/06/2020 15:59, Harman Kalra: > An issue has been observed where epoll file descriptor > list rebuilds every time an interrupt/alarm event is > received. > > eal_intr_process_interrupts() should notify pipe fd only > if any source is removed from the source list i.e (rv > 0) > > Fixes: 0c7ce182a760 ("eal: add pending interrupt callback unregister") > Cc: stable@dpdk.org > > Signed-off-by: Harman Kalra <hkalra@marvell.com> Applied, thanks
diff --git a/lib/librte_eal/linux/eal_interrupts.c b/lib/librte_eal/linux/eal_interrupts.c index 16e7a7d51..84eeaa1bc 100644 --- a/lib/librte_eal/linux/eal_interrupts.c +++ b/lib/librte_eal/linux/eal_interrupts.c @@ -1010,7 +1010,7 @@ eal_intr_process_interrupts(struct epoll_event *events, int nfds) } /* notify the pipe fd waited by epoll_wait to rebuild the wait list */ - if (rv >= 0 && write(intr_pipe.writefd, "1", 1) < 0) { + if (rv > 0 && write(intr_pipe.writefd, "1", 1) < 0) { rte_spinlock_unlock(&intr_lock); return -EPIPE; }
An issue has been observed where epoll file descriptor list rebuilds every time an interrupt/alarm event is received. eal_intr_process_interrupts() should notify pipe fd only if any source is removed from the source list i.e (rv > 0) Fixes: 0c7ce182a760 ("eal: add pending interrupt callback unregister") Cc: stable@dpdk.org Signed-off-by: Harman Kalra <hkalra@marvell.com> --- *V2: missing closing bracket in Fixes tag in V1 lib/librte_eal/linux/eal_interrupts.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)