On Wed, 2012-08-22 at 17:43 +0900, Yoshihiro YUNOMAE wrote: > Add read path and control path to use trace-agent of virtio-trace. > When we use trace-agent, trace-cmd will be used as follows: > # AGENT_READ_DIR=/tmp/virtio-trace/tracing \ > AGENT_CTL=/tmp/virtio-trace/agent-ctl-path.in \ > TRACING_DIR=/tmp/virtio-trace/debugfs/tracing \\
Ha! You used "TRACING_DIR" but patch one introduces TRACE_DIR. Lets change this to DEBUG_TRACING_DIR instead anyway. Also, I don't like the generic environment variables. Perhaps VIRTIO_TRACE_DIR, or AGENT_TRACE_DIR and AGENT_TRACE_CTL. Lets try to keep the environment namespace sparse. > trace-cmd record -e "sched:*" > Here, AGENT_READ_DIR is the path for a reading directory of virtio-trace, > AGENT_CTL is a control path of trace-agent, and TRACING_DIR is a debugfs path > of a guest. > > Signed-off-by: Yoshihiro YUNOMAE <yoshihiro.yunomae...@hitachi.com> > --- > > trace-cmd.h | 1 + > trace-recorder.c | 57 > +++++++++++++++++++++++++++++++++++++++++++++++++++++- > trace-util.c | 18 +++++++++++++++++ > 3 files changed, 75 insertions(+), 1 deletions(-) > > diff --git a/trace-cmd.h b/trace-cmd.h > index f904dc5..75506ed 100644 > --- a/trace-cmd.h > +++ b/trace-cmd.h > @@ -72,6 +72,7 @@ static inline int tracecmd_host_bigendian(void) > } > > char *tracecmd_find_tracing_dir(void); > +char *guest_agent_tracing_read_dir(void); > > /* --- Opening and Reading the trace.dat file --- */ > > diff --git a/trace-recorder.c b/trace-recorder.c > index 215affc..3b750e9 100644 > --- a/trace-recorder.c > +++ b/trace-recorder.c > @@ -33,6 +33,7 @@ > #include <unistd.h> > #include <ctype.h> > #include <errno.h> > +#include <stdbool.h> > > #include "trace-cmd.h" > > @@ -43,6 +44,8 @@ struct tracecmd_recorder { > int page_size; > int cpu; > int stop; > + int ctl_fd; > + bool agent_existing; Thanks for the reminder. I need to convert a lot to use 'bool' instead. > }; > > void tracecmd_free_recorder(struct tracecmd_recorder *recorder) > @@ -59,11 +62,29 @@ void tracecmd_free_recorder(struct tracecmd_recorder > *recorder) > free(recorder); > } > > +static char *use_trace_agent_dir(char *ctl_path, > + struct tracecmd_recorder *recorder) > +{ > + ctl_path = strdup(ctl_path); > + if (!ctl_path) > + die("malloc"); > + warning("Use environmental control path: %s\n", ctl_path); s/Use/Using/ -- Steve > + > + recorder->ctl_fd = open(ctl_path, O_WRONLY); > + if (recorder->ctl_fd < 0) > + return NULL; > + > + recorder->agent_existing = true; > + > + return guest_agent_tracing_read_dir(); > +} > + _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization