[dpdk-dev] Valgrind and DPDK - does it work ?
Morten Jagd Christensen
mjc at xenanetworks.com
Tue Sep 16 13:42:47 CEST 2014
Hi all,
I am interested to hear if anyone here have had any luck running Valgrind on
DPDK applications?
I tried to use this some time ago, but Valgrind does not seem to work
together with hugepages or
I am doing something wrong ;-)
I would like to hear form anyone having success or failure with Valgrind and
DPDK.
Best regards
/Morten
This is an extract of a printout from running my application normally
>sudo ./build/l47app c 0xffffffff n 4
EAL: Detected a total of 32 lcores
EAL: Setting up memory...
EAL: Ask a virtual area of 0x280000000 bytes
EAL: Virtual area found at 0x7f7b80000000 (size = 0x280000000)
EAL: Ask a virtual area of 0x280000000 bytes
EAL: Virtual area found at 0x7f78c0000000 (size = 0x280000000)
EAL: Requesting 10 pages of size 1024MB from socket 0
EAL: Requesting 10 pages of size 1024MB from socket 1
This is what I get when running Valgrind
>sudo valgrind --leak-check=full ./build/l47server
EAL: Detected a total of 32 lcores
EAL: Setting up memory...
EAL: map_all_hugepages(): mmap failed: Invalid argument
EAL: Failed to mmap 1024 MB hugepages
And here is an strace of the above command
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
gettid() = 29696
read(1028, "C", 1) = 1
close(6) = 0
gettid() = 29696
write(1029, "D", 1) = 1
rt_sigprocmask(SIG_SETMASK, [], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
write(1, "EAL: Setting up memory...\n", 26EAL: Setting up memory...
) = 26
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
gettid() = 29696
read(1028, "D", 1) = 1
mmap(0x805b51000, 16384, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 0, 0) = 0x805b51000
getpid() = 29696
getpid() = 29696
gettid() = 29696
write(1029, "E", 1) = 1
rt_sigprocmask(SIG_SETMASK, [], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
open("/dev/hugepages/rtemap_0", O_RDWR|O_CREAT, 0755) = 6
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
gettid() = 29696
read(1028, "E", 1) = 1
mmap(0x39fe0000, 1073741824, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 6,
0) = -1 EINVAL (Invalid argument)
gettid() = 29696
write(1029, "F", 1) = 1
rt_sigprocmask(SIG_SETMASK, [], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
write(1, "EAL: map_all_hugepages(): mmap f"..., 56EAL: map_all_hugepages():
mmap failed: Invalid argument
) = 56
rt_sigprocmask(SIG_SETMASK, ~[ILL TRAP BUS FPE KILL SEGV STOP], NULL, 8) = 0
gettid() = 29696
read(1028, "F", 1) = 1
close(6) = 0
gettid() = 29696
write(1029, "G", 1) = 1
rt_sigprocmask(SIG_SETMASK, [], ~[ILL TRAP BUS FPE KILL SEGV STOP], 8) = 0
write(1, "EAL: Failed to mmap 1024 MB huge"..., 38EAL: Failed to mmap 1024
MB hugepages
Morten Jagd Christensen
VP Product Management
Xena Networks
Læderstræde 34, 3rd Floor
1201 Copenhagen K
Denmark
Ph: (+45) 51 54 51 87
<mailto:mjc at xenanetworks.com> mjc at xenanetworks.com
More information about the dev
mailing list