Hi Raja,
As I updated last week, I am no longer getting this error (after I switched
from trunk to 3.2 and back to trunk) now for some unknown reason. Now when I
start the contrail-dpdk binary, I get following error—
contrail@contrail-23:~/dev/contrail-installer$ /usr/bin/contrail-vrouter-dpdk
--no-daemon --socket-mem 1024,1024
ERROR: this system does not support “SSE4_2”.
Please check that RTE_MACHINE is set correctly.
After debugging the root-cause of above issue, I found that in file
“third_party/dpdk/mk/machine/native/rte.vars.mk”, following check (marked in
red) is missing. I came to this conclusion because—
1. On my setup, compiler doesn’t report SSE4_2 support
a. checked with command “gcc -march=native -dM -E - < /dev/null | grep
SSE4_2”
2. File “/var/run/dmesg.boot” is not present
Based on above points and following code, “MACHINE_CFLAGS” will get set to
“-march=corei7”
# on FreeBSD systems, sometimes the correct cputype is not picked up.
# To get everything to compile, we need SSE4.2 support, so check if that is
# reported by compiler. If not, check if the CPU actually supports it, and if
# so, set the compilation target to be a corei7, minimum target with SSE4.2
SSE42_SUPPORT=$(shell $(CC) -march=native -dM -E - < /dev/null | grep SSE4_2)
ifeq ($(SSE42_SUPPORT),)
CPU_SSE42_SUPPORT=$(shell if [ -f /var/run/dmesg.boot ] ; then grep SSE4\.2
/var/run/dmesg.boot ; fi)
ifneq ($(CPU_SSE42_SUPPORT),)
MACHINE_CFLAGS= -march=corei7
endif
endif
Ref: http://dpdk.org/ml/archives/dev/2014-July/004053.html
So I added above additional code as highlighted in RED. Recompiled DPDK library
as well as contrail-vrouter-dpdk binary and tried to run it. However still same
error is received
Br, Deepak
From: Rajagopalan Sivaramakrishnan [mailto:[email protected]]
Sent: 08 April 2017 05:29
To: Deepak Tiwari <[email protected]>; [email protected]
Subject: Re: [opencontrail-dev] Need help in setting up vRouter in DPDK-enabled
mode
Hi Deepak,
It might be worth hardcoding core_mask_count just to see if the issue is
with using __builtin_popcountll
in the gcc version you are using. Do you still see the crash without the call
to __builtin_popcountll?
Raja
"DISCLAIMER: This message is proprietary to Aricent and is intended solely for
the use of the individual to whom it is addressed. It may contain privileged or
confidential information and should not be circulated or used for any purpose
other than for what it is intended. If you have received this message in error,
please notify the originator immediately. If you are not the intended
recipient, you are notified that you are strictly prohibited from using,
copying, altering, or disclosing the contents of this message. Aricent accepts
no responsibility for loss or damage arising from the use of the information
transmitted by this email including damage from virus."
_______________________________________________
Dev mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org