This patchset adds support for tracing guest kernels to trace-cmd. Changes in v6: - added specialized data transfer path over FIFOs making single splice() per iteration - made tracecmd_msg_recv_trace_req/tracecmd_msg_recv_trace_resp more defensive to invalid messages Changes in v5: - add FIFOs transport for tracing data - fixed a bug in tracecmd_msg_wait_close Changes in v4: - detect and use splice(2) on vsock sockets if possible - switch port numbers to unsigned int - trace-cmd record --date flag is now set for all guests if provided by the user - removed grow_cap and exponential buffer size growth Changes in v3: - addressed Steven's feedback - detect and disable guest tracing if <linux/vm_sockets.h> is not available - the --date flag is now treated as global for all guest instances - fixed a bug that caused --date to be ignored for host tracing data when tracing guests Changes in v2: - rebased on top of protocol V3 - fixed system clock timestamps with the --date flag Slavomir Kaslev (10): trace-cmd: Add tracecmd_create_recorder_virt function trace-cmd: Add TRACE_REQ and TRACE_RESP messages trace-cmd: Add buffer instance flags for tracing in guest and agent context trace-cmd: Add VM kernel tracing over vsockets transport trace-cmd: Use splice(2) for vsockets if available trace-cmd: Add `trace-cmd setup-guest` command trace-cmd: Try to autodetect number of guest CPUs in setup-guest if not specified trace-cmd: Add setup-guest flag for attaching FIFOs to the guest VM config trace-cmd: Add splice() recording from FIFO without additional pipe buffer trace-cmd: Add VM tracing over FIFOs transport Steven Rostedt (VMware) (1): trace-cmd: Detect if vsockets are available Makefile | 7 + include/trace-cmd/trace-cmd.h | 16 +- lib/trace-cmd/trace-recorder.c | 140 ++++-- tracecmd/Makefile | 7 +- tracecmd/include/trace-local.h | 26 ++ tracecmd/trace-agent.c | 257 +++++++++++ tracecmd/trace-cmd.c | 4 + tracecmd/trace-msg.c | 216 ++++++++- tracecmd/trace-record.c | 779 ++++++++++++++++++++++++++++++--- tracecmd/trace-setup-guest.c | 255 +++++++++++ tracecmd/trace-usage.c | 22 +- 11 files changed, 1641 insertions(+), 88 deletions(-) create mode 100644 tracecmd/trace-agent.c create mode 100644 tracecmd/trace-setup-guest.c -- 2.19.1