> -----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
