Re: [PATCH] eal/linux: handle epoll error conditions

Kevin Traynor
2026-01-29T12:51:22Z

On 28/01/2026 12:20, Kevin Traynor wrote:
> Add handling for epoll error conditions EPOLLERR, EPOLLHUP and
> EPOLLRDHUP. These events indicate that the interrupt file descriptor
> is in an error state or there has been a hangup.
>
> This may happen when the interrupt file descriptor is deleted or for
> mlx5 devices when the device is unbound from mlx5 kernel driver or if
> the device is removed by the mlx5 kernel driver as part of LAG setup.
>
> Previously, the interrupts were being read, but the condition was not
> cleared and that may lead to an interrupt continuing to fire and a
> busy-loop processing it.
>
> Now when this condition is detected, an error message is logged and the
> interrupt is removed to prevent busy-looping.
>
> Also cover the case where no bytes are read even though the epoll has
> indicated there is something to read.
>
> Bugzilla ID: 1873
> Fixes: af75078fece3 ("first public release")
> Cc: stable@dpdk.org
>
> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> ---
> lib/eal/linux/eal_interrupts.c | 63 ++++++++++++++++++++++++----------
> 1 file changed, 44 insertions(+), 19 deletions(-)

I have reproduced the ci failure and need to investigate. I may have
been too aggressive in dealing with some event types. I will mark as
Changes Requested. Thanks.