On Fri, 22 Feb 2019 20:05:39 +0200 Slavomir Kaslev <kaslevs@xxxxxxxxxx> wrote: > FIFOs offer ~3x the throughput of vsockets. This patch adds support for using > FIFOs to stream tracing data back to the host when tracing VMs. > > Signed-off-by: Slavomir Kaslev <kaslevs@xxxxxxxxxx> > --- > include/trace-cmd/trace-cmd.h | 8 ++-- > tracecmd/include/trace-local.h | 4 +- > tracecmd/trace-agent.c | 40 ++++++++++++++-- > tracecmd/trace-msg.c | 26 ++++++---- > tracecmd/trace-record.c | 87 ++++++++++++++++++++++++++++++---- > 5 files changed, 137 insertions(+), 28 deletions(-) > > diff --git a/include/trace-cmd/trace-cmd.h b/include/trace-cmd/trace-cmd.h > index 52962e9..27ba89d 100644 > --- a/include/trace-cmd/trace-cmd.h > +++ b/include/trace-cmd/trace-cmd.h > @@ -333,16 +333,16 @@ bool tracecmd_msg_done(struct tracecmd_msg_handle *msg_handle); > void tracecmd_msg_set_done(struct tracecmd_msg_handle *msg_handle); > > int tracecmd_msg_send_trace_req(struct tracecmd_msg_handle *msg_handle, > - int argc, char **argv); > + int argc, char **argv, bool use_fifos); > int tracecmd_msg_recv_trace_req(struct tracecmd_msg_handle *msg_handle, > - int *argc, char ***argv); > + int *argc, char ***argv, bool *use_fifos); > > int tracecmd_msg_send_trace_resp(struct tracecmd_msg_handle *msg_handle, > int nr_cpus, int page_size, > - unsigned int *ports); > + unsigned int *ports, bool use_fifos); > int tracecmd_msg_recv_trace_resp(struct tracecmd_msg_handle *msg_handle, > int *nr_cpus, int *page_size, > - unsigned int **ports); > + unsigned int **ports, bool *use_fifos); Hmm, maybe flags would be good to keep. We can put "use_fifos" in the flags field of the ports being passed across. -- Steve > > /* --- Plugin handling --- */ > extern struct tep_plugin_option trace_ftrace_options[]; > diff --git a/tracecmd/include/trace-local.h b/tracecmd/include/trace-local.h > index d32ba88..d7bdb1f 100644