From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <dev-bounces@dpdk.org> Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AD9EA45BA1; Wed, 30 Oct 2024 05:06:41 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8B78C42FB9; Wed, 30 Oct 2024 05:06:41 +0100 (CET) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 1A65042EC5 for <dev@dpdk.org>; Wed, 30 Oct 2024 05:06:39 +0100 (CET) Received: from mail.maildlp.com (unknown [172.19.163.48]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4XdYQp3DVpzdkMs; Wed, 30 Oct 2024 12:04:02 +0800 (CST) Received: from kwepemm600004.china.huawei.com (unknown [7.193.23.242]) by mail.maildlp.com (Postfix) with ESMTPS id 37AE1180064; Wed, 30 Oct 2024 12:06:30 +0800 (CST) Received: from [10.67.121.59] (10.67.121.59) by kwepemm600004.china.huawei.com (7.193.23.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 30 Oct 2024 12:06:29 +0800 Message-ID: <2fb0e074-f592-ece3-7db4-9070134986ef@huawei.com> Date: Wed, 30 Oct 2024 12:06:28 +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 RESEND v7 0/5] app/testpmd: support multiple process attach and detach port To: Ferruh Yigit <ferruh.yigit@amd.com>, <thomas@monjalon.net>, <andrew.rybchenko@oktetlabs.ru>, Stephen Hemminger <stephen@networkplumber.org> CC: <dev@dpdk.org>, <fengchengwen@huawei.com>, <liuyonglong@huawei.com> References: <20220825024425.10534-1-lihuisong@huawei.com> <20240929055241.29268-1-lihuisong@huawei.com> <542fb047-0950-01c9-56be-ef4d47ec7b5f@huawei.com> <26306692-6ce5-432f-ad7f-d13844c9e0b7@amd.com> <e32653ef-8a83-1c34-8207-28db6b1b8035@huawei.com> <2c97b03c-0f1f-4725-863a-f51f64b5f578@amd.com> From: "lihuisong (C)" <lihuisong@huawei.com> In-Reply-To: <2c97b03c-0f1f-4725-863a-f51f64b5f578@amd.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.121.59] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemm600004.china.huawei.com (7.193.23.242) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org 在 2024/10/30 6:12, Ferruh Yigit 写道: > On 10/18/2024 3:48 AM, lihuisong (C) wrote: >> Hi Ferruh, >> >> Thanks for your considering again. please see reply inline. >> >> 在 2024/10/18 9:04, Ferruh Yigit 写道: >>> On 10/8/2024 3:32 AM, lihuisong (C) wrote: >>>> Hi Thomas and Ferruh, >>>> >>>> We've discussed it on and off a few times, and we've reached some >>>> consensus. >>>> They've been going through more than 2 years😅 >>>> Can you have a look at this series again? >>>> If we really don't need it, I will drop it from my upstreaming list. >>>> >>> Hi Huisong, >>> >>> I was not really convinced with the patch series, but did not want to >>> block it outright, sorry that this caused patch series stay around. >>> >>> As checked again, still feels like adding unnecessary complexity, and I >>> am for rejecting this series. >>> >>> Overall target is to be able to support hotplug with primary/secondary >>> process, and uses event handlers for this but this requires adding a new >>> ethdev state to be able iterate over devices etc... >>> Perhaps better way to support this without relying on event handlers. >> Ignoring the modification of tesptmd is ok to me. >> But we need to restrict testpmd not to support attach and detach port in >> multiple process case. >> Otherwise. these issues this series solved will be encountered. >> >> BTW, I want to say the patch [2/5] which introduced >> RTE_ETH_DEV_ALLOCATED should be thought again. >> Because it is an real issue in ethdev layer. This is also the fruit that >> Thomas, you and I discussed before. >> Please look at this patch again. >> > RTE_ETH_DEV_ALLOCATED is added to run RTE_ETH_FOREACH_DEV in the event > handler, more specifically on the 'RTE_ETH_EVENT_NEW' event handler, right? Yes > Without testpmd event handler update, what is the reason/usecase for > above ethdev change? no testpmd event handler modification, other applications may also encounter it. Please take a look at the commit of patch 2/5 and the modification in patch 3/5. > > Thomas, Andrew, Stephen, please feel free to chime in. > > >> /Huisong >>> >>>> /Huisong >>>> >>>> >>>> 在 2024/9/29 13:52, Huisong Li 写道: >>>>> This patchset fix some bugs and support attaching and detaching port >>>>> in primary and secondary. >>>>> >>>>> --- >>>>> -v7: fix conflicts >>>>> -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(-) >>>>> >>> . > .