diff mbox series

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

Message ID 20201014140507.9327-3-elibr@nvidia.com
State Superseded
Headers show
Series [ovs-dev,V3,1/2] AUTHORS: Update Eli Britstein <elibr@nvidia.com> | expand

Commit Message

Eli Britstein Oct. 14, 2020, 2:05 p.m. UTC
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@nvidia.com>
---
 lib/netdev-dpdk.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

Comments

Andrew Rybchenko Oct. 14, 2020, 2:16 p.m. UTC | #1
On 10/14/20 5: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@nvidia.com>

Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Ilya Maximets Oct. 14, 2020, 2:25 p.m. UTC | #2
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@nvidia.com>
> ---

This change is for dpdk-latest, right?  DPDK patch is not in 19.11.

>  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) {
>
Eli Britstein Oct. 14, 2020, 2:45 p.m. UTC | #3
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@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) {
>>
Stokes, Ian Oct. 14, 2020, 3:10 p.m. UTC | #4
> 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@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.

I've rebased and pushed dpdk-latest yesterday, is there a new commit that needs rebasing again?

Regards
Ian

> >
> >>   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) {
> >>
Eli Britstein Oct. 14, 2020, 3:14 p.m. UTC | #5
On 10/14/2020 6:10 PM, Stokes, Ian wrote:
> External email: Use caution opening links or attachments
>
>
>> 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@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.
> I've rebased and pushed dpdk-latest yesterday, is there a new commit that needs rebasing again?
Sorry, I missed that rebase.
>
> Regards
> Ian
>
>>>>    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) {
>>>>
diff mbox series

Patch

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) {