[dpdk-dev] [PATCH] net/e1000: fix port hotplug for multi-process

Jeff Guo jia.guo at intel.com
Tue May 12 06:01:33 CEST 2020


hi alvin

On 5/12/2020 11:44 AM, Zhang, AlvinX wrote:
> Hi Jia,
>
> It shouldn't return error for secondary. 'rte_eth_dev_release_port()' has already process type in it, so returning '0' should work better which will cause some process specific variables cleared.
> In otherwise, only primary process need to really close the device.
>
> BR,
> Alvin


Sounds that if driver no need to close, no need to show any useless log 
to user, make sense.


>> -----Original Message-----
>> From: Guo, Jia
>> Sent: Tuesday, May 12, 2020 11:03 AM
>> To: Zhang, AlvinX <alvinx.zhang at intel.com>; dev at dpdk.org
>> Cc: Xing, Beilei <beilei.xing at intel.com>; Lu, Wenzhuo
>> <wenzhuo.lu at intel.com>
>> Subject: Re: [dpdk-dev] [PATCH] net/e1000: fix port hotplug for multi-
>> process
>>
>> hi, alvin
>>
>>
>> On 4/29/2020 2:37 PM, alvinx.zhang at intel.com wrote:
>>> From: Alvin Zhang <alvinx.zhang at intel.com>
>>>
>>> Enable detach device on secondary process.
>>>
>>> Fixes: b9eee2cb8c29 (e1000: support port hotplug)
>>> Cc: bernard.iremonger at intel.com
>>> Cc: stable at dpdk.org
>>>
>>> Signed-off-by: Alvin Zhang <alvinx.zhang at intel.com>
>>> ---
>>>    drivers/net/e1000/em_ethdev.c  | 2 +-
>>>    drivers/net/e1000/igb_ethdev.c | 4 ++--
>>>    2 files changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/net/e1000/em_ethdev.c
>>> b/drivers/net/e1000/em_ethdev.c index 188cda3..902b1cd 100644
>>> --- a/drivers/net/e1000/em_ethdev.c
>>> +++ b/drivers/net/e1000/em_ethdev.c
>>> @@ -321,7 +321,7 @@ static int eth_em_set_mc_addr_list(struct
>> rte_eth_dev *dev,
>>>    	PMD_INIT_FUNC_TRACE();
>>>
>>>    	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
>>> -		return -EPERM;
>>> +		return 0;
>>>
>>
>> I guess you mean pass through the process of the RTE_PROC_SECONDARY
>> case when detach device, but what about the other case like
>> RTE_PROC_INVALID or RTE_PROC_AUTO ?
>>
>>
>>>    	eth_em_close(eth_dev);
>>>
>>> diff --git a/drivers/net/e1000/igb_ethdev.c
>>> b/drivers/net/e1000/igb_ethdev.c index 520fba8..a5551e8 100644
>>> --- a/drivers/net/e1000/igb_ethdev.c
>>> +++ b/drivers/net/e1000/igb_ethdev.c
>>> @@ -923,7 +923,7 @@ static int igb_flex_filter_uninit(struct rte_eth_dev
>> *eth_dev)
>>>    	PMD_INIT_FUNC_TRACE();
>>>
>>>    	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
>>> -		return -EPERM;
>>> +		return 0;
>>>
>>>    	eth_igb_close(eth_dev);
>>>
>>> @@ -1044,7 +1044,7 @@ static int igb_flex_filter_uninit(struct rte_eth_dev
>> *eth_dev)
>>>    	PMD_INIT_FUNC_TRACE();
>>>
>>>    	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
>>> -		return -EPERM;
>>> +		return 0;
>>>
>>>    	igbvf_dev_close(eth_dev);


Reviewed-by: Jeff Guo <jia.guo at intel.com>



More information about the dev mailing list