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(-)
>>>>>
>>> .
> .