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

Reply via email to