On Fri, 23 Oct 2026 at 15:52, Anatoly Burakov <[email protected]> wrote:
>
> rte_intr_efd_disable() decides whether to close the event FDs based on
> max_intr being greater than nb_efd. This is a side effect of how
> rte_intr_efd_enable() fills the handle for VFIO MSI-X, where an extra
> slot is reserved for the misc interrupt, and only indirectly identifies
> the eventfds that EAL created itself.
>
> Any driver filling the event FD array for a VDEV or EXT handle and
> setting max_intr the same way gets its descriptors closed by EAL even
> though it owns them. The virtio-user driver does exactly this, so its
> callfds are closed by rte_intr_efd_disable() and then closed again by
> the driver on uninit.
>
> Check the interrupt handle type instead, so that only the eventfds
> created by rte_intr_efd_enable() for VFIO MSI-X are closed.
>
> Fixes: b9e0662a931d ("eal/linux: add interrupt API for drivers")
> Cc: [email protected]
>
> Signed-off-by: Anatoly Burakov <[email protected]>

LGTM.
Acked-by: David Marchand <[email protected]>


-- 
David Marchand

Reply via email to