[dpdk-dev] Running DPDK Binaries on a different Target

Neil Horman nhorman at tuxdriver.com
Wed Apr 8 13:47:36 CEST 2015


On Wed, Apr 08, 2015 at 02:03:05PM +0530, Venkat Thummala wrote:
> Hi Neil,
> 
> Thanks for the quick response.
> 
> The issue got fixed by setting CONFIG_RTE_MACHINE to "default".
> 
Default is the lowest common demoninator system that dpdk supports (core2 duo).
So if you're system is superior to that processor, you're ok.

> Though, this fixed the CRASH issue, I am observing inconsistent behavior
> with ACL tables.
> 
> With the same traffic and same ACL rule, on ONE machine the ACL rule is
> being HIT, where as on the OTHER machine the rule never HITS.
> 
> Is this because of the "default" machine option?
> 
Possibly, the machine type changes the method of lookup for ACL rules, though it
should remain consistent in terms of which rules are hit.  
> Regards
> Venkat
> 
> 
> On 7 April 2015 at 20:05, Neil Horman <nhorman at tuxdriver.com> wrote:
> 
> > On Tue, Apr 07, 2015 at 05:30:15PM +0530, Venkat Thummala wrote:
> > > Attaching the CPU Info.
> > >
> > > On 7 April 2015 at 17:28, Venkat Thummala <
> > venkat.thummala.1978 at gmail.com>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > I have built a DPDK application [based on version 2.0] and run on the
> > > > native machine successfully.
> > > >
> > > > I have tried running the binary on a different machine, but it
> > resulted in
> > > > a CRASH with the following back trace.
> > > >
> > > > Please find the CPU info of the machines from the attachment.
> > > >
> > > > cpuinfo-1 - Native Machine
> > > > cpuinfo-2 - Non Native Machine
> > > >
> > > > Could someone please help me in understanding the issue here and
> > making it
> > > > work?
> > > >
> > > > Regards
> > > > Venkat
> > > >
> > > > Program terminated with signal SIGILL, Illegal instruction.
> > > > #0  0x00000000004209f2 in rte_cpu_get_flag_enabled (feature=2147483656,
> > > > feature at entry=RTE_CPUFLAG_EM64T)
> > > >     at
> > > >
> > /home/vthummala/src/vwlc/dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/include/rte_cpuflags.h:303
> > > > 303        return (regs[feat->reg] >> feat->bit) & 1;
> >
> > Looks like this somehow compiled into an instruction that the native system
> > understands but the system you're running on doesn't.  disassemble the
> > code here
> > to see what instruction that is to confirm, then you either need to:
> >
> > 1) Change the machine you're compiling for to be more specific to your
> > target
> > system
> >
> > or
> >
> > 2) Understand that the hardware you're targeting doesn't support dpdk
> >
> > Neil
> >
> > > > (gdb) bt
> > > > #0  0x00000000004209f2 in rte_cpu_get_flag_enabled (feature=2147483656,
> > > > feature at entry=RTE_CPUFLAG_EM64T)
> > > >     at
> > > >
> > /home/vthummala/src/vwlc/dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/include/rte_cpuflags.h:303
> > > > #1  0x0000000000420a1b in rte_hash_crc_set_alg (alg=6 '\006')
> > > >     at
> > > >
> > /home/vthummala/src/vwlc/dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/include/rte_hash_crc.h:429
> > > > #2  rte_hash_crc_init_alg () at
> > > >
> > /home/vthummala/src/vwlc/dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/include/rte_hash_crc.h:445
> > > > #3  0x000000000054968d in __libc_csu_init ()
> > > > #4  0x00007fc3ca474e55 in group_nodes_into_DFAstates
> > > > (dests_ch=0x940f507ab10ff0c8, dests_node=0x4a8b44de74c084c0,
> > > > state=0x4420528b48a8ebc9,
> > > >     dfa=<optimized out>) at regexec.c:3614
> > > > #5  build_trtable (dfa=0x840fc139c0014468, state=0x4420528b48a8ebc9) at
> > > > regexec.c:3354
> > > > #6  0x41d589495541f689 in ?? ()
> > > > #7  0x00251630258d4c54 in ?? ()
> > > > #8  0x002517302d8d4855 in ?? ()
> > > > #9  0xc148db31e5294c53 in ?? ()
> > > > #10 0x65e808ec834803fd in ?? ()
> > > > #11 0x1e74ed8548ffed48 in ?? ()
> > > > #12 0x0000000000841f0f in ?? ()
> > > >
> > >
> >


More information about the dev mailing list