Re: [ovs-dev] [PATCH v2 0/2] Implement terse dump for netdev-offload
On Thu, Jun 04, 2020 at 01:58:08PM +0200, Simon Horman wrote: > On Thu, Jun 04, 2020 at 01:51:04PM +0300, Roi Dayan wrote: > > > > > > On 2020-06-04 1:46 PM, 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%2Fdata=02%7C01%7Croid%40mellanox.com%7C6cd2642b7e5c46cd61e308d80874ce08%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637268645057358795sdata=gHfuLy9ZdymCq%2FqMsP5HPTWTNfO%2BcI%2BeEcopbZ9%2F1hY%3Dreserved=0 > > > > > > Pointer to travis ci > > > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Fgithub%2Froidayan%2Fovs%2Fbuilds%2F694595308data=02%7C01%7Croid%40mellanox.com%7C6cd2642b7e5c46cd61e308d80874ce08%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637268645057358795sdata=935ft%2B4OpTZyVGqju4Y3A4mOZusXwN%2F3ZMaonHJwLpo%3Dreserved=0 > > > > > > > > > Vlad Buslov (2): > > > netdev-offload: Implement terse dump support > > > tc: Support new terse dump kernel API > > > > > > lib/dpif-netlink.c| 70 > > > +- > > > lib/netdev-offload-provider.h | 3 +- > > > lib/netdev-offload-tc.c | 71 > > > --- > > > lib/netdev-offload.c | 10 +++--- > > > lib/netdev-offload.h | 6 ++-- > > > lib/tc.c | 59 +++ > > > lib/tc.h | 5 +-- > > > ofproto/ofproto-dpif-upcall.c | 24 +-- > > > 8 files changed, 173 insertions(+), 75 deletions(-) > > > > > > > forgot to include changelog. > > v2 > > - fixing travis errors. > > Thanks, just to be on the safe side I'm running this through Travis again. > > https://travis-ci.org/github/horms2/ovs/builds/694611682 > https://travis-ci.org/github/horms2/ovs/builds/694611768 Thanks again, I've pushed this series to master. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2 0/2] Implement terse dump for netdev-offload
On Thu, Jun 04, 2020 at 01:51:04PM +0300, Roi Dayan wrote: > > > On 2020-06-04 1:46 PM, 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%2Fdata=02%7C01%7Croid%40mellanox.com%7C6cd2642b7e5c46cd61e308d80874ce08%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637268645057358795sdata=gHfuLy9ZdymCq%2FqMsP5HPTWTNfO%2BcI%2BeEcopbZ9%2F1hY%3Dreserved=0 > > > > Pointer to travis ci > > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Fgithub%2Froidayan%2Fovs%2Fbuilds%2F694595308data=02%7C01%7Croid%40mellanox.com%7C6cd2642b7e5c46cd61e308d80874ce08%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637268645057358795sdata=935ft%2B4OpTZyVGqju4Y3A4mOZusXwN%2F3ZMaonHJwLpo%3Dreserved=0 > > > > > > Vlad Buslov (2): > > netdev-offload: Implement terse dump support > > tc: Support new terse dump kernel API > > > > lib/dpif-netlink.c| 70 > > +- > > lib/netdev-offload-provider.h | 3 +- > > lib/netdev-offload-tc.c | 71 > > --- > > lib/netdev-offload.c | 10 +++--- > > lib/netdev-offload.h | 6 ++-- > > lib/tc.c | 59 +++ > > lib/tc.h | 5 +-- > > ofproto/ofproto-dpif-upcall.c | 24 +-- > > 8 files changed, 173 insertions(+), 75 deletions(-) > > > > forgot to include changelog. > v2 > - fixing travis errors. Thanks, just to be on the safe side I'm running this through Travis again. https://travis-ci.org/github/horms2/ovs/builds/694611682 https://travis-ci.org/github/horms2/ovs/builds/694611768 ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2 0/2] Implement terse dump for netdev-offload
On 2020-06-04 1:46 PM, 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%2Fdata=02%7C01%7Croid%40mellanox.com%7C6cd2642b7e5c46cd61e308d80874ce08%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637268645057358795sdata=gHfuLy9ZdymCq%2FqMsP5HPTWTNfO%2BcI%2BeEcopbZ9%2F1hY%3Dreserved=0 > > Pointer to travis ci > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Fgithub%2Froidayan%2Fovs%2Fbuilds%2F694595308data=02%7C01%7Croid%40mellanox.com%7C6cd2642b7e5c46cd61e308d80874ce08%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637268645057358795sdata=935ft%2B4OpTZyVGqju4Y3A4mOZusXwN%2F3ZMaonHJwLpo%3Dreserved=0 > > > Vlad Buslov (2): > netdev-offload: Implement terse dump support > tc: Support new terse dump kernel API > > lib/dpif-netlink.c| 70 +- > lib/netdev-offload-provider.h | 3 +- > lib/netdev-offload-tc.c | 71 > --- > lib/netdev-offload.c | 10 +++--- > lib/netdev-offload.h | 6 ++-- > lib/tc.c | 59 +++ > lib/tc.h | 5 +-- > ofproto/ofproto-dpif-upcall.c | 24 +-- > 8 files changed, 173 insertions(+), 75 deletions(-) > forgot to include changelog. v2 - fixing travis errors. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev