[ovs-dev] [PATCH 0/2] Implement terse dump for netdev-offload

Roi Dayan roid at mellanox.com
Wed Jun 3 06:51:10 UTC 2020



On 2020-06-02 4:36 PM, Simon Horman wrote:
> On Tue, Jun 02, 2020 at 01:21:16PM +0200, Simon Horman wrote:
>> On Mon, Jun 01, 2020 at 03:54:54PM +0300, Roi Dayan wrote:
>>> In order to improve revalidator performance, extend netdev-offload with terse
>>> dump support. In terse dump mode modify code that parses netlink to flower and
>>> flower to match to only provide the essential data for conversion instead of
>>> parsing all filter and actions data.
>>>
>>> Implement support for new TC TCA_DUMP_FLAGS_TERSE flag. With the flag set TC
>>> kernel implementation skips output of all other data besides stats, cookie and
>>> flags which allows to pack much more filters in single netlink packet and
>>> reduces amount of syscalls required to execute filter dump.
>>>
>>> The impact of the change is measured by benchmarking revalidator poll interval
>>> time with 100k of simple L2 flows with two revalidator threads on setup with 2x
>>> Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz, 32GB memory. For such configuration
>>> poll interval is reduced from ~1020ms to ~220ms. 
>>>
>>> Pointer to the kernel patches for the new TC flag:
>>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.ozlabs.org%2Fproject%2Fnetdev%2Fcover%2F20200515114014.3135-1-vladbu%2540mellanox.com%2F&data=02%7C01%7Croid%40mellanox.com%7C02fb615747344cca672f08d806f9fcca%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637267018068811121&sdata=7EU2pZ4F9VpmT%2BJLN5rusSq6WsvaWGwJFzsqmz5805A%3D&reserved=0
>>>
>>> Vlad Buslov (2):
>>>   netdev-offload: Implement terse dump support
>>>   tc: Support new terse dump kernel API
>>
>> Thanks Roi, Thanks Vlad,
>>
>> these changes look good to me. I have put them into Travis-CI, as per my
>> usual process, to see if it flags anything.
>>
>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Fgithub%2Fhorms2%2Fovs%2Fbuilds%2F693802765&data=02%7C01%7Croid%40mellanox.com%7C02fb615747344cca672f08d806f9fcca%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637267018068811121&sdata=esKDOtKFzU34OUBMost56fOzhsocbeaE8p0hXiaWp5Y%3D&reserved=0
>> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Fgithub%2Fhorms2%2Fovs%2Fbuilds%2F693800395&data=02%7C01%7Croid%40mellanox.com%7C02fb615747344cca672f08d806f9fcca%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637267018068811121&sdata=Fokv%2BxvxSx8V7D3ZV5W5YkVw4MX9vBhXQ%2F%2FVB8Z6tmc%3D&reserved=0
> 
> Hi,
> 
> unfortunately Travis-CI has flaged a number of failures.
> I am wondering if they are explained by this one:
> 
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Fgithub%2Fhorms2%2Fovs%2Fjobs%2F693802778%23L2874&data=02%7C01%7Croid%40mellanox.com%7C02fb615747344cca672f08d806f9fcca%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637267018068811121&sdata=DX5m199CmwIp5%2BlRdofkPdHRk%2B0b4LSu%2FHXMJ1KJNSQ%3D&reserved=0
> 
> ...
> 
> ofproto/ofproto-dpif-upcall.c:2585:55: error: reading variable 'stats' requires
>       holding any mutex [-Werror,-Wthread-safety-analysis]
>                       udpif->dpif->current_ms : ukey->stats.used;
>                                                       ^
> 
> ofproto/ofproto-dpif-upcall.c:2588:18: error: reading variable 'created'
>       requires holding any mutex [-Werror,-Wthread-safety-analysis]
>     return ukey->created;
>                  ^
> 
> ...
> 


thanks Simon. 
we actually checked travis in earlier version of the patch and all passed
https://travis-ci.org/github/roidayan/ovs/builds/685769626
after some modifications we wanted we missed checking travis again.
we'll fix it and send v2.

thanks,
Roi


More information about the dev mailing list