[Adding the mailing list back in.] On 5/22/19 2:47 AM, Aleksandar Markovic wrote: >> > Version 6 was >> > https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg04794.html >> > >> > Since v5, I've fixed the ioctl failure that Laurent found, and >> > have done a few more syscalls. >> > >> > I've tried to do more testing with LTP.... > > Running LTP is certainly a very important way of testing this series. However, > it is not sufficient. This is because this series completely replaces internal > QEMU strace mechanism for involved system calls,
What you missed because of the very large time lag between iterations, and because I was lazy and only referenced v6 in this cover letter, is that in an early revision the major objection was that I *wasn't* replacing strace, and thus we were retaining lots of duplicate logic in multiple places. > and any bug in such > replacement would not be captured by LTP results. How did you test new strace > bits and peaces? Can you provide logs of such tests (for example, before/after > comparisons of strace output for relevant system calls, or similar)? My strace testing is totally ad-hoc. Run something with -strace and eyeball it. Here are before/after logs for busybox ls (aka linux-user-test-0.3, which has for some reason vanished from the qemu wiki?) for alpha-linux-user.
657 uname(0x40008014b8) = 0 657 brk(NULL) = 0x000000012006a000 657 access("/etc/ld.so.nohwcap",F_OK) = -1 errno=2 (No such file or directory) 657 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x000000400082e000 657 access("/etc/ld.so.preload",R_OK) = -1 errno=2 (No such file or directory) 657 open("/etc/ld.so.cache",O_RDONLY) = 3 657 fstat64(3,0x0000004000800c30) = 0 657 close(3) = 0 657 open("/lib/tls/libc.so.6.1",O_RDONLY) = -1 errno=2 (No such file or directory) 657 stat64("/lib/tls",0x0000004000800bb0) = -1 errno=2 (No such file or directory) 657 open("/lib/libc.so.6.1",O_RDONLY) = 3 657 read(3,0x800da8,640) = 640 657 fstat64(3,0x0000004000800c30) = 0 657 mmap(NULL,927824,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x0000004000830000 657 mprotect(0x00000040008f2000,133200,PROT_NONE) = 0 657 mmap(0x0000004000902000,65536,PROT_EXEC|PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0xc2000) = 0x0000004000902000 657 mmap(0x0000004000912000,2128,PROT_EXEC|PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x0000004000912000 657 close(3) = 0 657 mprotect(0x000000400082a000,8192,PROT_READ) = 0 657 getxuid(274886302098,4832112143,77,24,4831859744,274886356864) = 1000 657 getxgid(274886302098,4832112143,77,0,1000,274886356864) = 1000 657 setgid(1000,4832112143,77,0,1000,274886356864) = 0 657 setuid(1000,4832112143,77,0,1000,274886356864) = 0 657 ioctl(1,1074295912,274886301072,0,1000,274886356864) = 0 657 lstat64("dummyfile",0x0000004000801510) = 0 657 brk(NULL) = 0x000000012006a000 657 brk(0x000000012008c000) = 0x000000012008c000 657 open("/etc/localtime",O_RDONLY) = 3 657 fstat64(3,0x0000004000801360) = 0 657 fstat64(3,0x00000040008011f0) = 0 657 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004000914000 657 read(3,0x914000,4096) = 3545 657 close(3) = 0 657 munmap(0x0000004000914000,8192) = 0 657 fstat64(1,0x0000004000800c70) = 0 657 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004000916000 657 open("/etc/passwd",O_RDONLY) = 3 657 fstat64(3,0x0000004000801290) = 0 657 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x0000004000918000 657 read(3,0x918000,4096) = 2727 657 close(3) = 0 657 munmap(0x0000004000918000,8192) = 0 657 open("/etc/group",O_RDONLY) = 3 657 fstat64(3,0x0000004000801290) = 0 657 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x000000400091a000 657 read(3,0x91a000,4096) = 1043 657 close(3) = 0 657 munmap(0x000000400091a000,8192) = 0 657 gettimeofday(274886300912,0,1,0,103,1024) = 0 657 write(1,0x916000,66) = 66 657 munmap(0x0000004000916000,8192) = 0 657 exit_group(0)
17862 uname(0x40008014b8) = 0 17862 brk(NULL) = 0x000000012006a000 17862 access("/etc/ld.so.nohwcap", F_OK) = -1 errno=2 (No such file or directory) 17862 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x000000400082e000 17862 access("/etc/ld.so.preload", R_OK) = -1 errno=2 (No such file or directory) 17862 open("/etc/ld.so.cache", O_RDONLY, 01) = 3 17862 fstat64(3,0x0000004000800c30) = 0 17862 close(3) = 0 17862 open("/lib/tls/libc.so.6.1", O_RDONLY, 014) = -1 errno=2 (No such file or directory) 17862 stat64("/lib/tls",0x0000004000800bb0) = -1 errno=2 (No such file or directory) 17862 open("/lib/libc.so.6.1", O_RDONLY, 014) = 3 17862 read(3, 0x0000004000800da8, 640) = 640 17862 fstat64(3,0x0000004000800c30) = 0 17862 mmap(NULL, 927824, PROT_EXEC|PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x0000004000830000 17862 mprotect(0x00000040008f2000, 133200, PROT_NONE) = 0 17862 mmap(0x0000004000902000, 65536, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED, 3, 794624) = 0x0000004000902000 17862 mmap(0x0000004000912000, 2128, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, -1, 0) = 0x0000004000912000 17862 close(3) = 0 17862 mprotect(0x000000400082a000, 8192, PROT_READ) = 0 17862 getxuid(274886302098,4832112143,77,24,4831859744,274886356864) = 1000 17862 getxgid(274886302098,4832112143,77,0,1000,274886356864) = 1000 17862 setgid(1000,4832112143,77,0,1000,274886356864) = 0 17862 setuid(1000,4832112143,77,0,1000,274886356864) = 0 17862 ioctl(1, 40087468) = 0 17862 lstat64("dummyfile",0x0000004000801510) = 0 17862 brk(NULL) = 0x000000012006a000 17862 brk(0x000000012008c000) = 0x000000012008c000 17862 open("/etc/localtime", O_RDONLY, 0666) = 3 17862 fstat64(3,0x0000004000801360) = 0 17862 fstat64(3,0x00000040008011f0) = 0 17862 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x0000004000914000 17862 read(3, 0x0000004000914000, 4096) = 3545 17862 close(3) = 0 17862 munmap(0x0000004000914000, 8192) = 0 17862 fstat64(1,0x0000004000800c70) = 0 17862 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x0000004000916000 17862 open("/etc/passwd", O_RDONLY, 0666) = 3 17862 fstat64(3,0x0000004000801290) = 0 17862 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x0000004000918000 17862 read(3, 0x0000004000918000, 4096) = 2727 17862 close(3) = 0 17862 munmap(0x0000004000918000, 8192) = 0 17862 open("/etc/group", O_RDONLY, 0666) = 3 17862 fstat64(3,0x0000004000801290) = 0 17862 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x000000400091a000 17862 read(3, 0x000000400091a000, 4096) = 1043 17862 close(3) = 0 17862 munmap(0x000000400091a000, 8192) = 0 17862 gettimeofday(0x00000040008014f0) = 0 17862 write(1, 0x0000004000916000, 66) = 66 17862 munmap(0x0000004000916000, 8192) = 0 17862 exit_group(0)