enjoy-digital / litepcie

Small footprint and configurable PCIe core
Other
449 stars 110 forks source link

SIGKILL when doing a dma_test with zero-copy? #133

Open sthornington opened 2 months ago

sthornington commented 2 months ago

Does anyone know why the zero-copy mode of litepcie_util would fail specifically when doing the zero-copy DMA test?

image
[sthornington@nuc user]$ sudo strace ./litepcie_util -z dma_test
execve("./litepcie_util", ["./litepcie_util", "-z", "dma_test"], 0x7fff931a1850 /* 25 vars */) = 0
brk(NULL)                               = 0x61c399bb5000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=176971, ...}) = 0
mmap(NULL, 176971, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fbbb9537000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\236\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
fstat(3, {st_mode=S_IFREG|0755, st_size=1965296, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbbb9535000
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 1989488, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fbbb934f000
mmap(0x7fbbb9377000, 1421312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7fbbb9377000
mmap(0x7fbbb94d2000, 348160, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x183000) = 0x7fbbb94d2000
mmap(0x7fbbb9527000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d7000) = 0x7fbbb9527000
mmap(0x7fbbb952d000, 31600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fbbb952d000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbbb934c000
arch_prctl(ARCH_SET_FS, 0x7fbbb934c740) = 0
set_tid_address(0x7fbbb934ca10)         = 93865
set_robust_list(0x7fbbb934ca20, 24)     = 0
rseq(0x7fbbb934d060, 0x20, 0, 0x53053053) = 0
mprotect(0x7fbbb9527000, 16384, PROT_READ) = 0
mprotect(0x61c398249000, 4096, PROT_READ) = 0
mprotect(0x7fbbb9596000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7fbbb9537000, 176971)          = 0
rt_sigaction(SIGINT, {sa_handler=0x61c398245fb0, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fbbb938f770}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x9), ...}) = 0
getrandom("\x75\x73\xbb\xd2\xbb\xd3\x86\x78", 8, GRND_NONBLOCK) = 8
brk(NULL)                               = 0x61c399bb5000
brk(0x61c399bd6000)                     = 0x61c399bd6000
write(1, "\33[1m[> DMA loopback test:\33[0m\n", 30[> DMA loopback test:
) = 30
write(1, "---------------------\n", 22---------------------
) = 22
openat(AT_FDCWD, "/dev/litepcie0", O_RDWR|O_CLOEXEC) = 3
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x53, 0x19, 0x6), 0x7fff98654c42) = 0
ioctl(3, _IOC(_IOC_WRITE, 0x53, 0x14, 0x1), 0x7fff98654c47) = 0
ioctl(3, _IOC(_IOC_READ, 0x53, 0x18, 0x30), 0x61c39824a1b0) = 0
mmap(NULL, 2097152, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x200000) = 0x7fbbb914c000
mmap(NULL, 2097152, PROT_WRITE, MAP_SHARED, 3, 0) = 0x7fbbb8f4c000
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x53, 0x15, 0x18), 0x7fff98654c20) = 0
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x53, 0x16, 0x18), 0x7fff98654c20) = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, 100) = 1 ([{fd=3, revents=POLLOUT}])
ioctl(3, _IOC(_IOC_WRITE, 0x53, 0x1b, 0x8), 0x61c39824a1e0) = 0
+++ killed by SIGKILL +++
Killed
[sthornington@nuc user]$