Re: [PATCH v15 11/18] trace-cmd: Exchange tracing IDs between host and guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 28, 2019 at 4:34 PM Slavomir Kaslev
<slavomir.kaslev@xxxxxxxxx> wrote:
>
 ...
> > -       ret = tracecmd_msg_recv_trace_req(msg_handle, &argc, &argv, &use_fifos);
> > +       ret = tracecmd_msg_recv_trace_req(msg_handle, &argc, &argv,
> > +                                         &use_fifos, &trace_id);
>
> Why is `tracecmd_msg_recv_trace_req` receiving trace_id if it's
> getting generated by the agent below?
>
Each peer generates its own trace id and stores it in its trace.dat
file. tracecmd_msg_recv_trace_req() receives the trace ID of the host
and tracecmd_msg_send_trace_resp() replies its own trace ID.
May be it is a good idea in case of guest to not generate trace ID,
but to use the one generated by the host ?

> >         if (ret < 0)
> >                 die("Failed to receive trace request");
> >
> > @@ -153,13 +155,13 @@ static void agent_handle(int sd, int nr_cpus, int page_size)
> >
> >         if (!use_fifos)
> >                 make_vsocks(nr_cpus, fds, ports);
> > -
> > +       trace_id = tracecmd_generate_traceid();
> >         ret = tracecmd_msg_send_trace_resp(msg_handle, nr_cpus, page_size,
> > -                                          ports, use_fifos);
> > +                                          ports, use_fifos, trace_id);
> >         if (ret < 0)
> >                 die("Failed to send trace response");
> > -
> > -       trace_record_agent(msg_handle, nr_cpus, fds, argc, argv, use_fifos);
> > +       trace_record_agent(msg_handle, nr_cpus, fds, argc, argv,
> > +                          use_fifos, trace_id);
> >
> >         free(argv[0]);
> >         free(argv);
>
> Cheers,
>
> -- Slavi



-- 
Tzvetomir (Ceco) Stoyanov
VMware Open Source Technology Center



[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux