[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
after some modifications we wanted we missed checking travis again.
we'll fix it and send v2.


More information about the dev mailing list