Re: [PATCH v15 14/18] trace-cmd: Add host trace clock as guest trace argument

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

 



On Thu, Nov 28, 2019 at 11:01 AM Tzvetomir Stoyanov (VMware)
<tz.stoyanov@xxxxxxxxx> wrote:
>
> When tracing host and guest machines, both should use the same
> tracing clock for event timestamps. If a clock is specified
> as host tracing argument, with option "-C clock_name", the same
> is injected as guest tracing argument. If the user wants to use
> different tracing clocks, it can specify it using "-C clock_name"
> as guest tracing argument. In that case, the one specified by
> the user has higher priority.
>
> Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx>
> ---
>  tracecmd/trace-record.c | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c
> index 49730d6..e7fb1bd 100644
> --- a/tracecmd/trace-record.c
> +++ b/tracecmd/trace-record.c
> @@ -5405,6 +5405,8 @@ static void parse_record_options(int argc,
>         char *sav;
>         int name_counter = 0;
>         int neg_event = 0;
> +       struct buffer_instance *instance;
> +       bool guest_config = false;

guest_config is a bit vague of a name for what it's used here. Maybe
has_clock_arg?

>
>         init_common_record_context(ctx, curr_cmd);
>
> @@ -5562,6 +5564,7 @@ static void parse_record_options(int argc,
>                         break;
>                 case 'C':
>                         ctx->instance->ftrace->clock = optarg;
> +                       guest_config = true;
>                         break;
>                 case 'v':
>                         neg_event = 1;
> @@ -5779,14 +5782,26 @@ static void parse_record_options(int argc,
>
>         /* If --date is specified, prepend it to all guest VM flags */
>         if (ctx->date) {
> -               struct buffer_instance *instance;
> -
>                 for_all_instances(instance) {
>                         if (is_guest(instance))
>                                 add_argv(instance, "--date", true);
>                 }
>         }
>
> +       if (guest_config) {
> +               /* If -C is specified, prepend clock to all guest VM flags */
> +               for_all_instances(instance) {
> +                       if (top_instance.ftrace->clock) {
> +                               if (is_guest(instance)) {
> +                                       add_argv(instance,
> +                                                (char *)top_instance.ftrace->clock,
> +                                                true);
> +                                       add_argv(instance, "-C", true);

Shouldn't those two add_arvgv() calls be swapped?

> +                               }
> +                       }
> +               }
> +       }
> +
>         if (!ctx->filtered && ctx->instance->filter_mod)
>                 add_func(&ctx->instance->filter_funcs,
>                          ctx->instance->filter_mod, "*");
> --
> 2.23.0
>

Cheers,

-- Slavi



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

  Powered by Linux