On Mon, 1 Apr 2019 04:26:57 +0200 Thomas Monjalon <tho...@monjalon.net> wrote:
> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c > index 10bdfb37e..33cffc498 100644 > --- a/lib/librte_ethdev/rte_ethdev.c > +++ b/lib/librte_ethdev/rte_ethdev.c > @@ -330,8 +330,7 @@ uint16_t > rte_eth_find_next(uint16_t port_id) > { > while (port_id < RTE_MAX_ETHPORTS && > - rte_eth_devices[port_id].state != RTE_ETH_DEV_ATTACHED && > - rte_eth_devices[port_id].state != RTE_ETH_DEV_REMOVED) > + rte_eth_devices[port_id].state == RTE_ETH_DEV_UNUSED) For some applications that iterate over ports this is a hot path. What about keeping an unused port bit mask and using ffs (in the future)?