From: Slavomir Kaslev <kaslevs@vmware.com>
To: rostedt@goodmis.org
Cc: linux-trace-devel@vger.kernel.org
Subject: [PATCH v10 00/12] Add VM kernel tracing over vsockets and FIFOs
Date: Mon, 22 Apr 2019 17:55:07 +0300 [thread overview]
Message-ID: <20190422145519.16146-1-kaslevs@vmware.com> (raw)
This patchset adds support for tracing guest kernels to trace-cmd.
Changes in v10:
- add support for specifying VMware Workstation guests by name on the command line
- add docstring for tracecmd_create_recorder_virt()
- add a comment on why we need to poll() in direct_splice_data()
Changes in v9:
- none
Changes in v8:
- switched protocol message encoding of ports to text
- switched ports data type to unsigned since vsockets port numbers can overflow int and be confused with errors codes by other code
- added automatic naming for guests with no names (for VMware Workstation guests currently)
- added --debug option to trace-cmd agent
Changes in v7:
- fixed potential memory leak in add_arg()
- call msg_free() in tracecmd_msg_recv_trace_req() eventhough we're stealing
the message buffer
- added is_guest and is_agent macros and use throughout tracecmd_record.c
instead of testing instance->flags bits
- avoid memory allocation in make_dir()
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 (11):
trace-cmd: Make ports unsigned int
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 support for tracing VMware Workstation VMs by name
Steven Rostedt (VMware) (1):
trace-cmd: Detect if vsockets are available
Makefile | 7 +
include/trace-cmd/trace-cmd.h | 18 +-
lib/trace-cmd/trace-recorder.c | 145 ++++--
tracecmd/Makefile | 5 +
tracecmd/include/trace-local.h | 29 ++
tracecmd/trace-agent.c | 294 ++++++++++++
tracecmd/trace-cmd.c | 4 +
tracecmd/trace-listen.c | 10 +-
tracecmd/trace-msg.c | 251 +++++++++-
tracecmd/trace-record.c | 843 +++++++++++++++++++++++++++++++--
tracecmd/trace-setup-guest.c | 247 ++++++++++
tracecmd/trace-usage.c | 22 +-
12 files changed, 1781 insertions(+), 94 deletions(-)
create mode 100644 tracecmd/trace-agent.c
create mode 100644 tracecmd/trace-setup-guest.c
--
2.19.1
next reply other threads:[~2019-04-22 14:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-22 14:55 Slavomir Kaslev [this message]
2019-04-22 14:55 ` [PATCH v10 01/12] trace-cmd: Make ports unsigned int Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 02/12] trace-cmd: Detect if vsockets are available Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 03/12] trace-cmd: Add tracecmd_create_recorder_virt() function Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 04/12] trace-cmd: Add TRACE_REQ and TRACE_RESP messages Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 05/12] trace-cmd: Add buffer instance flags for tracing in guest and agent context Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 06/12] trace-cmd: Add VM kernel tracing over vsockets transport Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 07/12] trace-cmd: Use splice(2) for vsockets if available Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 08/12] trace-cmd: Add `trace-cmd setup-guest` command Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 09/12] trace-cmd: Try to autodetect number of guest CPUs in setup-guest if not specified Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 10/12] trace-cmd: Add setup-guest flag for attaching FIFOs to the guest VM config Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 11/12] trace-cmd: Add splice() recording from FIFO without additional pipe buffer Slavomir Kaslev
2019-04-22 14:55 ` [PATCH v10 12/12] trace-cmd: Add support for tracing VMware Workstation VMs by name Slavomir Kaslev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190422145519.16146-1-kaslevs@vmware.com \
--to=kaslevs@vmware.com \
--cc=linux-trace-devel@vger.kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.