Hi Dario, On Tue, Feb 9, 2021 at 7:32 AM Dario Faggioli <dfaggioli@xxxxxxxx> wrote: > > Hello, > > On Mon, 2021-02-08 at 08:17 +0200, Tzvetomir Stoyanov (VMware) wrote: > > Basic infrastructure for host - guest timestamp synchronization and a > > PoC implementation of PTP-like and KVM algorithms. > > > I'm trying to play with trace-cmd agent & clock syncronization, so I > applied this series. > > However, when I try to connect to a VM where I have the agent running, > I'm seeing this (on the host): > > # ./tracecmd/trace-cmd record --debug -p nop -e sched:* -e kvm:* -e timer:hrtimer* -A tumbleweed-jeos:8888 -e all sleep 1 > trace-cmd: No such file or directory > Failed to receive trace response -107 > > I tried to do a strace, still on the host, and this is what I see (the > last part of the output): > > rt_sigaction(SIGINT, {sa_handler=0x4116a5, sa_mask=[INT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f29f1b55b70}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 > openat(AT_FDCWD, "/var/lib/trace-cmd/virt/(null)/trace-pipe-cpu0.out", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory) > socket(AF_VSOCK, SOCK_STREAM, 0) = 4 > connect(4, {sa_family=AF_VSOCK, sa_data="\0\0\270\"\0\0\3\0\0\0\0\0\0\0"}, 16) = 0 > openat(AT_FDCWD, "/sys/kernel/debug/tracing/trace_clock", O_RDONLY) = 6 > read(6, "local global counter uptime perf"..., 8192) = 62 > read(6, "", 8192) = 0 > close(6) = 0 > write(4, "\0\0\0<\0\0\0\6\0\0\0\20\0\0\0\0\0\0\0\0\347\366+n\204\271\35\334", 28) = 28 > write(4, "\0\0\0\0\0\0\0\v\0\0\0\2-e\0all\0\0\0\0\1\0\0\0\5ptp\0\0", 32) = 32 > read(4, "", 12) = 0 > dup(2) = 6 > fcntl(6, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) > fstat(6, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x9), ...}) = 0 > write(6, "trace-cmd: No such file or direc"..., 37trace-cmd: No such file or directory > ) = 37 > close(6) = 0 > write(2, " ", 2 ) = 2 > write(2, "Failed to receive trace response"..., 37Failed to receive trace response -107) = 37 > write(2, "\n", 1 > ) = 1 > exit_group(2) = ? > +++ exited with 2 +++ > > Finally, if I use `--debug` both on the host and in the VM, here's what > I get. > > Guest: > # ./tracecmd/trace-cmd agent -p 8888 --debug > listening on @3:8888 > msg received: 6 (TRACE_REQ) [60] > Segmentation fault > > Host: > # ./tracecmd/trace-cmd record --debug -p nop -e sched:* -e kvm:* -e timer:hrtimer* -A tumbleweed-jeos:8888 -e all sleep 1 > msg send: 6 (TRACE_REQ) [60] > trace-cmd: No such file or directory > Failed to receive trace response -107 > > Am I doing something wrong? :-) > > If necessary, I can provide more info about my setup, or do more tests. There are a few limitations that we are working to address: 1. Ensure that vhost_vsock module is loaded on the host. 2. You should add a vsock device manually to your VM config, I use "virsh edit <vm name>" to add: <vsock model='virtio'> <cid auto='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </vsock> somewhere in the <devices> </devices> section. > > Thanks and Regards > -- > Dario Faggioli, Ph.D > http://about.me/dario.faggioli > Virtualization Software Engineer > SUSE Labs, SUSE https://www.suse.com/ > ------------------------------------------------------------------- > <<This happens because _I_ choose it to happen!>> (Raistlin Majere) -- Tzvetomir (Ceco) Stoyanov VMware Open Source Technology Center