> -----Original Message-----
> From: dev <[email protected]> On Behalf Of Ilya Maximets
> Sent: Wednesday, November 10, 2021 6:02 PM
> To: Sriharsha Basavapatna <[email protected]>
> Cc: ovs-dev <[email protected]>; [email protected]
> Subject: [ovs-dev] Regarding the performance issues reported during today's
> OVS+DPDK meeting.
> 
> Hi, Harsha.
> 
> I was thinking about 3x performance drop due to enabling
> of experimental API that you reported during the meeting
> today.  I just want to clarify one thing to be sure that
> you're not making the same mistake as I did.
>
> If you're just building OVS without specifying CFLAGS,
> binaries will be compiled with the default '-g -O2'.
> However, any manipulations with CLFAGS will result with
> overriding of these default flags.  Therefore,
> ./configure CLFAGS='-DALLOW_EXPERIMENTAL_API' will result
> in building OVS with the compiler default optimization
> level, which is -O0.  On my setup in a simple test,
> -O2 works approximately 3-4x faster than -O0.  So, I'm
> wondering if you just didn't add '-O2' while building
> with experimental API, so the results are so low?
> The correct way to configure would be:
> ./configure CLFAGS='-DALLOW_EXPERIMENTAL_API -g -O2'

Talking about CFLAGS and performance, it is highly recommended to
enable basic CPU ISA such as "SSE4.2" and "POPCNT" instruction sets;
it enables faster CPU-ISA accelerated hashing and counting of bits set,
and also enables more CPU-ISA acceleration if the runtime CPU supports it.

CFLAG build details documented here for building OVS and with DPDK;
https://docs.openvswitch.org/en/latest/intro/install/dpdk/#install-ovs
https://docs.openvswitch.org/en/latest/intro/install/general/?highlight=popcnt#configuring

Regards, -Harry

> I made this mistake several times in the past.  And the
> most recent time it was today. :)
> 
> Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to