On 5/27/2023 3:11 AM, Huisong Li wrote: > This patchset fix some bugs and support attaching and detaching port > in primary and secondary. >
Hi Huisong, As commented on v4, I have some concerns on this set. The set does multiple ethdev/testpmd change, but the main target of the patch is not described clearly/simply. It looks like intention is to be able to register NEW event callback in the secondary process and be able to setup device in secondary when primary attaches a device, but my question is why not multi-process communication socket can't be used for this? MP socket/communication/thread is developed for this reason, I am not convinced why it can't be used to sync primary and secondary for device attach/detach. > --- > -v6: adjust rte_eth_dev_is_used position based on alphabetical order > in version.map > -v5: move 'ALLOCATED' state to the back of 'REMOVED' to avoid abi break. > -v4: fix a misspelling. > -v3: > #1 merge patch 1/6 and patch 2/6 into patch 1/5, and add modification > for other bus type. > #2 add a RTE_ETH_DEV_ALLOCATED state in rte_eth_dev_state to resolve > the probelm in patch 2/5. > -v2: resend due to CI unexplained failure. > > Huisong Li (5): > drivers/bus: restore driver assignment at front of probing > ethdev: fix skip valid port in probing callback > app/testpmd: check the validity of the port > app/testpmd: add attach and detach port for multiple process > app/testpmd: stop forwarding in new or destroy event > > app/test-pmd/testpmd.c | 47 +++++++++++++++--------- > app/test-pmd/testpmd.h | 1 - > drivers/bus/auxiliary/auxiliary_common.c | 9 ++++- > drivers/bus/dpaa/dpaa_bus.c | 9 ++++- > drivers/bus/fslmc/fslmc_bus.c | 8 +++- > drivers/bus/ifpga/ifpga_bus.c | 12 ++++-- > drivers/bus/pci/pci_common.c | 9 ++++- > drivers/bus/vdev/vdev.c | 10 ++++- > drivers/bus/vmbus/vmbus_common.c | 9 ++++- > drivers/net/bnxt/bnxt_ethdev.c | 3 +- > drivers/net/bonding/bonding_testpmd.c | 1 - > drivers/net/mlx5/mlx5.c | 2 +- > lib/ethdev/ethdev_driver.c | 13 +++++-- > lib/ethdev/ethdev_driver.h | 12 ++++++ > lib/ethdev/ethdev_pci.h | 2 +- > lib/ethdev/rte_class_eth.c | 2 +- > lib/ethdev/rte_ethdev.c | 4 +- > lib/ethdev/rte_ethdev.h | 4 +- > lib/ethdev/version.map | 1 + > 19 files changed, 114 insertions(+), 44 deletions(-) >