[ovs-dev] [PATCH] netdev-offload-tc: Use single thread for probing tc features

Ilya Maximets i.maximets at ovn.org
Tue Nov 10 12:44:48 UTC 2020


On 11/10/20 1:39 PM, Roi Dayan wrote:
> 
> 
> On 2020-11-02 2:07 PM, Roi Dayan wrote:
>> There is no need for a thread start per probe.
>>
>> Signed-off-by: Roi Dayan <roid at nvidia.com>
>> Reviewed-by: Paul Blakey <paulb at mellanox.com>
>> ---
>>   lib/netdev-offload-tc.c | 11 +++--------
>>   1 file changed, 3 insertions(+), 8 deletions(-)
>>
>> diff --git a/lib/netdev-offload-tc.c b/lib/netdev-offload-tc.c
>> index e828a8683910..53662ef3f0e6 100644
>> --- a/lib/netdev-offload-tc.c
>> +++ b/lib/netdev-offload-tc.c
>> @@ -1988,8 +1988,7 @@ probe_tc_block_support(int ifindex)
>>   static int
>>   netdev_tc_init_flow_api(struct netdev *netdev)
>>   {
>> -    static struct ovsthread_once multi_mask_once = OVSTHREAD_ONCE_INITIALIZER;
>> -    static struct ovsthread_once block_once = OVSTHREAD_ONCE_INITIALIZER;
>> +    static struct ovsthread_once once = OVSTHREAD_ONCE_INITIALIZER;
>>       enum tc_qdisc_hook hook = get_tc_qdisc_hook(netdev);
>>       uint32_t block_id = 0;
>>       struct tcf_id id;
>> @@ -2014,16 +2013,12 @@ netdev_tc_init_flow_api(struct netdev *netdev)
>>       /* make sure there is no ingress/egress qdisc */
>>       tc_add_del_qdisc(ifindex, false, 0, hook);
>>   -    if (ovsthread_once_start(&block_once)) {
>> +    if (ovsthread_once_start(&once)) {
>>           probe_tc_block_support(ifindex);
>>           /* Need to re-fetch block id as it depends on feature availability. */
>>           block_id = get_block_id_from_netdev(netdev);
>> -        ovsthread_once_done(&block_once);
>> -    }
>> -
>> -    if (ovsthread_once_start(&multi_mask_once)) {
>>           probe_multi_mask_per_prio(ifindex);
>> -        ovsthread_once_done(&multi_mask_once);
>> +        ovsthread_once_done(&once);
>>       }
>>         error = tc_add_del_qdisc(ifindex, true, block_id, hook);
>>
> 
> 
> Hi,
> 
> Any comments, can we merge this small change?

Have you missed previous replies from me and Simon?

They are available on mail list and in patchwork:
  https://patchwork.ozlabs.org/project/openvswitch/patch/20201102120702.173016-1-roid@nvidia.com/

Best regards, Ilya Maximets.


More information about the dev mailing list