[ovs-dev] [PATCH v2 1/1] dpdk: Update to use DPDK v20.11.

Ilya Maximets ilya.maximets at gmail.com
Wed Dec 9 16:28:54 UTC 2020


On 12/9/20 5:21 PM, Luca Boccassi wrote:
> On Wed, 2020-12-09 at 16:53 +0100, Ilya Maximets wrote:
>> On 12/2/20 2:01 PM, Ian Stokes wrote:
>>> This commit adds support for DPDK v20.11, it includes the following
>>> changes.
> 
> ..
> 
>>>      CFLAGS="$ovs_save_CFLAGS"
>>>      LDFLAGS="$ovs_save_LDFLAGS"
>>> -    if test "$DPDK_AUTO_DISCOVER" = "false"; then
>>> -      OVS_LDFLAGS="$OVS_LDFLAGS -L$DPDK_LIB_DIR"
>>> -    fi
>>>      OVS_CFLAGS="$OVS_CFLAGS $DPDK_INCLUDE"
>>
>> I noticed that DPDK puts -march=something into clfags.  That is not a good thing
>> to have as this could mess up user-provided flags to build OVS.  This 'march' was
>> used to build DPDK and should not be passed to OVS.
>> We should, probably, strip this thing out.
> 
> We do that intentionally because it's a minimum requirement for all
> applications linking to DPDK libraries. I do not recall exactly where
> the requirement comes from, I think it was from some static inline
> functions defined in some public headers and used by applications.
> 

After a brief discussion with David it seems that this flag could be
removed since RTE_MACHINE_CPUFLAG_XX removed in 20.11.
David, Bruce, could you, please, comment on this.

Anyway, this flag raises the minimal CPU requirement for those who
doesn't want to use DPDK, but uses OVS that happened to be compiled
with DPDK support.  Maybe that is OK, I'm not sure.  But this also
suppresses compiler optimizations for those who building OVS with
DPDK provided by some distribution. e.g. distributions will, probably,
build DPDK with -Dmachine=default and that will force -march=corei7
for the OVS regardless of the current CPU the user wants to build on.

Best regards, Ilya Maximets.


More information about the dev mailing list