Hi Keith, Yes I ran this program as root
However I ran it with DPDK 18.11 release. I will try 19.05 later. Besides, my cpu is E5-2650 v4. NICs are Intel x520 DA2 and Mellanox connectx-3 thank you for reply Best Regards, > Wiles, Keith <[email protected]> 於 2019年4月22日 下午9:09 寫道: > > > >> 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 >
