From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 298A942C4D; Wed, 7 Jun 2023 12:14:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B24A8410D7; Wed, 7 Jun 2023 12:14:14 +0200 (CEST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id 7AA4940A84 for ; Wed, 7 Jun 2023 12:14:12 +0200 (CEST) Received: from kwepemm600004.china.huawei.com (unknown [172.30.72.54]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4Qbjnl1zxzzlXGW; Wed, 7 Jun 2023 18:12:27 +0800 (CST) Received: from [10.67.103.231] (10.67.103.231) by kwepemm600004.china.huawei.com (7.193.23.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 7 Jun 2023 18:14:09 +0800 Message-ID: Date: Wed, 7 Jun 2023 18:14:09 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH V6 0/5] app/testpmd: support multiple process attach and detach port To: Ferruh Yigit , CC: , , , , References: <20220825024425.10534-1-lihuisong@huawei.com> <20230527021121.31647-1-lihuisong@huawei.com> From: "lihuisong (C)" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.103.231] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemm600004.china.huawei.com (7.193.23.242) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 在 2023/6/7 0:26, Ferruh Yigit 写道: > 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. please see my reply. > > The set does multiple ethdev/testpmd change, but the main target of the > patch is not described clearly/simply. The main target is to support attaching and detaching port in primary and secondary. Fixed some problems by the way. > > 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. The secondary process automatically probes the device when primary attaches a device. The primary process automatically probes the device before doing probe phase in secondary when secondary attaches a device. Above behavior itself is attributed to multi-process socket communication(see hogplug_mp.c). This series are just to support this feature in testpmd. But hogplug_mp cannot do something for application, like updating information, which is the duty of application. > > >> --- >> -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(-) >> > .