> On Apr 22, 2019, at 1:43 AM, 曾懷恩 <[email protected]> wrote: > > Hi Wiles, > > here is my sample code with just doing rte_eal_init() and rte_malloc() . > > >
I tried the attached code and it works on my machine with something close to DPDK 19.05 release. I only use 2 Meg pages, but I assumed it would not make any difference. Did you run this example as root? > > And my start eal cmdline option is ./build/test -l 0-1 -n 4 > > Thank you very much for your reply > > Wiles, Keith <[email protected]> 於 2019年4月21日 上午4:29 寫道: > > > > > > > > Sent from my iPhone > > > >> On Apr 18, 2019, at 11:31 PM, 曾懷恩 <[email protected]> wrote: > >> > >> HI, Stephen, > >> > >> Yes, I set huge page in default_hugepagesz=1G hugepagesz=1G hugepages=4 > >> > >> and also did rte_eal_init at the beginning of my program. > >> > >> thanks for reply. > > > > Is the core doing the rte_malloc one of the cores listed in the core list > > on the command line. In other words the pthread doing the allocation > > should be the master lcore or one of the slave lcores. > > > > Also I seems like a very simple test case, can you do the rte_eal_init() > > and then do the allocation as your sample code looks and then exit? Does > > this cause a segfault? > >> > >> > >>> Stephen Hemminger <[email protected]> 於 2019年4月19日 上午10:59 寫道: > >>> > >>> On Fri, 19 Apr 2019 09:11:05 +0800 > >>> 曾懷恩 <[email protected]> wrote: > >>> > >>>> Hi all, > >>>> > >>>> i have 1 problem while using rte_malloc > >>>> > >>>> Every time I use this function and use the memory it returns, it shows > >>>> segmentation fault(core dump) > >>>> > >>>> Is something wrong? > >>>> > >>>> thanks. > >>>> > >>>> > >>>> rte init … > >>>> ………... > >>>> unsigned char *str1; > >>>> printf("str1 addr = %x\n", str1); > >>>> str1 = rte_malloc(NULL,2,RTE_CACHE_LINE_SIZE); > >>>> printf("str1 addr = %x\n", str1); > >>>> str1[0] = 'a’; //segmentation fault here > >>>> str1[1] = '\0'; > >>> Do you have huge pages? > >>> Did you do eal_init? > >> > > <test.c><Makefile> Regards, Keith
