On 9/16/24 14:30, David Marchand wrote:
At the moment, if VFIO is not available at DPDK init, it won't be
available unless a subsequent rte_vfio_enable() is done.

Yet, even if rte_vfio_enable() is called again in primary and secondary
processes, a secondary process will never get to know that VFIO has been
enabled in the primary process as the MP requests handler is only
registered in EAL init.

On the other hand, moving the MP requests handler registration earlier
in EAL init is ok, as secondary process are supposed to be waiting on
eal_mcfg_wait_complete() until the primary process calls
eal_mcfg_complete().

Move vfio_mp_sync_setup() in rte_vfio_enable().

Besides, rte_eal_vfio_setup() is useless and its name with a rte_ prefix
is ambiguous as it gives the impression it is an exported/public symbol.
Remove it and directly call rte_vfio_enable() where needed.

Signed-off-by: David Marchand <david.march...@redhat.com>
---
  lib/eal/linux/eal.c      | 18 +-----------------
  lib/eal/linux/eal_vfio.c |  9 ++++++---
  2 files changed, 7 insertions(+), 20 deletions(-)


Should it be considered as a fix, and so a candidate for stable?
Or do you think it is too risky to change the behaviour?

Other than that, it looks good to me:
Reviewed-by: Maxime Coquelin <maxime.coque...@redhat.com>

Thanks,
Maxime

Reply via email to