[ovs-dev] [PATCH V3 2/2] netdev-dpdk: Remove usage of RTE_ETH_DEV_CLOSE_REMOVE flag

Eli Britstein elibr at nvidia.com
Wed Oct 14 14:45:12 UTC 2020


On 10/14/2020 5:25 PM, Ilya Maximets wrote:
> External email: Use caution opening links or attachments
>
>
> On 10/14/20 4:05 PM, Eli Britstein wrote:
>> Following DPDK commit [1], RTE_ETH_DEV_CLOSE_REMOVE flag is obsolete.
>> Behavior is equivalent to "always on". Remove the usage of that flag.
>>
>> [1] 638d40ba9622 ("ethdev: remove old close behaviour")
>>
>> Signed-off-by: Eli Britstein <elibr at nvidia.com>
>> ---
> This change is for dpdk-latest, right?  DPDK patch is not in 19.11.
Right. Added in v4. Also, dpdk-latest should be rebased.
>
>>   lib/netdev-dpdk.c | 12 +++---------
>>   1 file changed, 3 insertions(+), 9 deletions(-)
>>
>> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
>> index c048aaa75..76eec449a 100644
>> --- a/lib/netdev-dpdk.c
>> +++ b/lib/netdev-dpdk.c
>> @@ -1447,7 +1447,6 @@ netdev_dpdk_destruct(struct netdev *netdev)
>>       struct netdev_dpdk *dev = netdev_dpdk_cast(netdev);
>>       struct rte_device *rte_dev;
>>       struct rte_eth_dev *eth_dev;
>> -    bool remove_on_close;
>>
>>       ovs_mutex_lock(&dpdk_mutex);
>>
>> @@ -1459,20 +1458,15 @@ netdev_dpdk_destruct(struct netdev *netdev)
>>            * FIXME: avoid direct access to DPDK internal array rte_eth_devices.
>>            */
>>           eth_dev = &rte_eth_devices[dev->port_id];
>> -        remove_on_close =
>> -            eth_dev->data &&
>> -                (eth_dev->data->dev_flags & RTE_ETH_DEV_CLOSE_REMOVE);
>>           rte_dev = eth_dev->device;
>>
>>           /* Remove the eth device. */
>>           rte_eth_dev_close(dev->port_id);
>>
>> -        /* Remove this rte device and all its eth devices if flag
>> -         * RTE_ETH_DEV_CLOSE_REMOVE is not supported (which means representors
>> -         * are not supported), or if all the eth devices belonging to the rte
>> -         * device are closed.
>> +        /* Remove this rte device and all its eth devices if all the eth
>> +         * devices belonging to the rte device are closed.
>>            */
>> -        if (!remove_on_close || !netdev_dpdk_get_num_ports(rte_dev)) {
>> +        if (!netdev_dpdk_get_num_ports(rte_dev)) {
>>               int ret = rte_dev_remove(rte_dev);
>>
>>               if (ret < 0) {
>>


More information about the dev mailing list