All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v8 00/11] Add VM kernel tracing over vsockets and FIFOs
@ 2019-04-02 13:42 Slavomir Kaslev
  2019-04-02 13:42 ` [RFC PATCH v8 01/11] trace-cmd: Make ports unsigned int Slavomir Kaslev
                   ` (24 more replies)
  0 siblings, 25 replies; 27+ messages in thread
From: Slavomir Kaslev @ 2019-04-02 13:42 UTC (permalink / raw)
  To: rostedt; +Cc: linux-trace-devel, slavomir.kaslev

This patchset adds support for tracing guest kernels to trace-cmd.

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 (10):
  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

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 | 129 ++++--
 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           | 249 ++++++++++-
 tracecmd/trace-record.c        | 773 +++++++++++++++++++++++++++++++--
 tracecmd/trace-setup-guest.c   | 247 +++++++++++
 tracecmd/trace-usage.c         |  22 +-
 12 files changed, 1695 insertions(+), 92 deletions(-)
 create mode 100644 tracecmd/trace-agent.c
 create mode 100644 tracecmd/trace-setup-guest.c

-- 
2.19.1


^ permalink raw reply	[flat|nested] 27+ messages in thread
* [RFC PATCH v8 00/13] Add VM kernel tracing over vsockets and FIFOs
@ 2019-02-22 18:05 Slavomir Kaslev
  2019-02-22 18:05 ` [RFC PATCH v8 06/13] trace-cmd: Add buffer instance flags for tracing in guest and agent context Slavomir Kaslev
  0 siblings, 1 reply; 27+ messages in thread
From: Slavomir Kaslev @ 2019-02-22 18:05 UTC (permalink / raw)
  To: linux-trace-devel; +Cc: rostedt, slavomir.kaslev

This patchset adds support for tracing guest kernels to trace-cmd.

The first two patches in the series are minor cleanups which can be merged
separately.

Changes in v8:
 - refactored make_dir function per Steven's review feedback

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 (12):
  trace-cmd: Minor cleanup in tracecmd_start_recording()
  trace-cmd: Minor cleanup in print_stat()
  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 |  29 ++
 tracecmd/trace-agent.c         | 257 +++++++++++
 tracecmd/trace-cmd.c           |   4 +
 tracecmd/trace-msg.c           | 219 ++++++++-
 tracecmd/trace-record.c        | 779 ++++++++++++++++++++++++++++++---
 tracecmd/trace-setup-guest.c   | 247 +++++++++++
 tracecmd/trace-usage.c         |  22 +-
 11 files changed, 1639 insertions(+), 88 deletions(-)
 create mode 100644 tracecmd/trace-agent.c
 create mode 100644 tracecmd/trace-setup-guest.c

-- 
2.19.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2019-04-02 13:44 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-02 13:42 [RFC PATCH v8 00/11] Add VM kernel tracing over vsockets and FIFOs Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 01/11] trace-cmd: Make ports unsigned int Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 01/13] trace-cmd: Minor cleanup in tracecmd_start_recording() Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 02/11] trace-cmd: Detect if vsockets are available Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 02/13] trace-cmd: Minor cleanup in print_stat() Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 03/11] trace-cmd: Add tracecmd_create_recorder_virt function Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 03/13] trace-cmd: Detect if vsockets are available Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 04/11] trace-cmd: Add TRACE_REQ and TRACE_RESP messages Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 04/13] trace-cmd: Add tracecmd_create_recorder_virt function Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 05/13] trace-cmd: Add TRACE_REQ and TRACE_RESP messages Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 05/11] trace-cmd: Add buffer instance flags for tracing in guest and agent context Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 06/11] trace-cmd: Add VM kernel tracing over vsockets transport Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 06/13] trace-cmd: Add buffer instance flags for tracing in guest and agent context Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 07/13] trace-cmd: Add VM kernel tracing over vsockets transport Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 07/11] trace-cmd: Use splice(2) for vsockets if available Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 08/11] trace-cmd: Add `trace-cmd setup-guest` command Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 08/13] trace-cmd: Use splice(2) for vsockets if available Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 09/13] trace-cmd: Add `trace-cmd setup-guest` command Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 09/11] trace-cmd: Try to autodetect number of guest CPUs in setup-guest if not specified Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 10/11] trace-cmd: Add setup-guest flag for attaching FIFOs to the guest VM config Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 10/13] trace-cmd: Try to autodetect number of guest CPUs in setup-guest if not specified Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 11/13] trace-cmd: Add setup-guest flag for attaching FIFOs to the guest VM config Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 11/11] trace-cmd: Add splice() recording from FIFO without additional pipe buffer Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 12/13] " Slavomir Kaslev
2019-04-02 13:42 ` [RFC PATCH v8 13/13] trace-cmd: Add VM tracing over FIFOs transport Slavomir Kaslev
2019-04-02 13:44 ` [RFC PATCH v8 00/11] Add VM kernel tracing over vsockets and FIFOs Slavomir Kaslev
  -- strict thread matches above, loose matches on Subject: below --
2019-02-22 18:05 [RFC PATCH v8 00/13] " Slavomir Kaslev
2019-02-22 18:05 ` [RFC PATCH v8 06/13] trace-cmd: Add buffer instance flags for tracing in guest and agent context Slavomir Kaslev

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.