[dpdk-users] Difficulty With rte_eal_init()

Cliff Burdick shaklee3 at gmail.com
Wed Mar 30 16:16:28 CEST 2016


Thanks, -march=native fixed that. Now I get a segfault when calling
rte_eth_tx_queue_setup:

PMD: ixgbe_dev_tx_queue_setup(): sw_ring=0x7fff755efa40
hw_ring=0x7fff755efe80 dma_addr=0x2005befe80
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6798aad in malloc_consolidate () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install
glibc-2.17-106.el7_2.4.x86_64 libconfig-1.4.9-5.el7.x86_64
libgcc-4.8.5-4.el7.x86_64 libstdc++-4.8.5-4.el7.x86_64
(gdb) backtrace
#0  0x00007ffff6798aad in malloc_consolidate () from /lib64/libc.so.6
#1  0x00007ffff679aea5 in _int_malloc () from /lib64/libc.so.6
#2  0x00007ffff679d334 in calloc () from /lib64/libc.so.6
#3  0x00007ffff6790ed3 in open_memstream () from /lib64/libc.so.6
#4  0x00007ffff680d23a in __vsyslog_chk () from /lib64/libc.so.6
#5  0x00007ffff680d79f in syslog () from /lib64/libc.so.6
#6  0x00007ffff7970922 in console_log_write () from
dpdk/dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so
#7  0x00007ffff6788a51 in _IO_cookie_write () from /lib64/libc.so.6
#8  0x00007ffff67947ec in __GI__IO_do_write () from /lib64/libc.so.6
#9  0x00007ffff6792be0 in __GI__IO_file_sync () from /lib64/libc.so.6
#10 0x00007ffff6788482 in fflush () from /lib64/libc.so.6
#11 0x00007ffff7a2462e in rte_vlog () from
dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so
#12 0x00007ffff795150b in rte_log () from
dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so
#13 0x00007ffff794df5f in ixgbe_dev_tx_queue_setup () from
dpdk/dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so
#14 0x00007ffff7a7ab79 in rte_eth_tx_queue_setup () from
dpdk/dpdk-2.2.0/x86_64-native-linuxapp-gcc/lib/libdpdk.so
#15 0x0000000000404728 in app::DpdkMgr::ConfigurePorts
(this=this at entry=0x7fffffffe378,
macAddr="90:E2:BA:AF:A0:B8", numQ=numQ at entry=2) at DpdkMgr.cpp:114
#16 0x000000000040299d in app::appConfigure::ConfigureDpdkPorts
(this=this at entry=0x7fffffffe360) at appConfigure.cpp:155
#17 0x00000000004020af in main (argc=2, argv=<optimized out>) at
appMain.cpp:40

I've tried passing in identical parameters to what l2fwd does, but it just
doesn't seem to be working. I think I may end up just taking an identical
makefile from the examples directory and using it since I'm not getting
anywhere with this. I'm using automake, so it's a little cumbersome.





On Tue, Mar 29, 2016 at 2:30 PM, Matthew Hall <mhall at mhcomputing.net> wrote:

> On Tue, Mar 29, 2016 at 02:16:45PM -0700, Cliff Burdick wrote:
> > Hi Matthew, sorry for the late response. I'm getting compilation errors
> > when I try to do what you suggested. I should have the same headers
> > included by the l2fwd example. I'm running g++ 4.8.5. Here are the new
> > errors and the compilation line:
>
> All of those seemed to be referencing _mm_alignr_epi8 which is part of
> Supplemental Streaming SIMD Extensions 3 (SSSE3).
>
> So you have to check GCC man page, docs, and code, to make sure whatever
> flag
> required for enabling Supplemental Streaming SIMD Extensions 3 (SSSE3)
> instructions is present or the intrinsic function implementations (which
> get
> stubbed out to the assembly trampoline for the instruction named) will not
> exist.
>
> Personally, the fact that the intrinsics don't come with a default software
> implementation that raises a compile warning is one of my top hatreds
> associated with the use of these instructions. I've spent hours on issues
> like
> this w/ my DPDK app...
>
> Matthew.
>


More information about the users mailing list