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