Re: [PATCH 4/4] cyclictest: add --tracemark option

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

 




On Thu, 17 Mar 2016, Luiz Capitulino wrote:

> cyclictest will only write to /sys/kernel/debug/tracing/trace_maker
> if it's also setup to do tracing. This conflicts with
> running cyclictest under trace-cmd.
> 
> The --tracemark option tells cyclictest to write to the
> trace_marker file even when it's not doing tracing.
> 
> It can be used like this:
> 
>  # trace-cmd record [...] cyclictest [...] -bX --tracemark --notrace
> 
> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
> ---
>  src/cyclictest/cyclictest.c | 20 +++++++++++++++++++-
>  1 file changed, 19 insertions(+), 1 deletion(-)
> 
> diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
> index 65f2aec..75af721 100644
> --- a/src/cyclictest/cyclictest.c
> +++ b/src/cyclictest/cyclictest.c
> @@ -192,6 +192,7 @@ static void trigger_update(struct thread_param *par, int diff, int64_t ts);
>  static int shutdown;
>  static int tracelimit = 0;
>  static int notrace = 0;
> +static int trace_marker = 0;
>  static int ftrace = 0;
>  static int kernelversion;
>  static int verbose = 0;
> @@ -545,6 +546,18 @@ static void open_tracemark_fd(void)
>  		warn("unable to open trace_marker file: %s\n", path);
>  }
>  
> +static void enable_trace_mark(void)
> +{
> +	if (!trace_marker)
> +		return;
> +
> +	if (!tracelimit)
> +		fatal("--tracemark requires -b\n");
> +
> +	debugfs_prepare();
> +	open_tracemark_fd();
> +}
> +
>  static void setup_tracer(void)
>  {
>  	if (!tracelimit || notrace)
> @@ -1286,7 +1299,7 @@ enum option_values {
>  	OPT_SYSTEM, OPT_SMP, OPT_THREADS, OPT_TRACER, OPT_TRIGGER,
>  	OPT_TRIGGER_NODES, OPT_UNBUFFERED, OPT_NUMA, OPT_VERBOSE, OPT_WAKEUP,
>  	OPT_WAKEUPRT, OPT_DBGCYCLIC, OPT_POLICY, OPT_HELP, OPT_NUMOPTS,
> -	OPT_ALIGNED, OPT_SECALIGNED, OPT_LAPTOP,
> +	OPT_ALIGNED, OPT_SECALIGNED, OPT_LAPTOP, OPT_TRACEMARK,
>  };
>  
>  /* Process commandline options */
> @@ -1340,6 +1353,7 @@ static void process_options (int argc, char *argv[], int max_cpus)
>  			{"spike",	     required_argument, NULL, OPT_TRIGGER },
>  			{"spike-nodes",	     required_argument, NULL, OPT_TRIGGER_NODES },
>  			{"threads",          optional_argument, NULL, OPT_THREADS },
> +			{"tracemark",        no_argument,       NULL, OPT_TRACEMARK },
>  			{"tracer",           required_argument, NULL, OPT_TRACER },
>  			{"unbuffered",       no_argument,       NULL, OPT_UNBUFFERED },
>  			{"numa",             no_argument,       NULL, OPT_NUMA },
> @@ -1574,6 +1588,8 @@ static void process_options (int argc, char *argv[], int max_cpus)
>  			ct_debug = 1; break;
>  		case OPT_LAPTOP:
>  			laptop = 1; break;
> +		case OPT_TRACEMARK:
> +			trace_marker = 1; break;
>  		}
>  	}
>  
> @@ -1983,6 +1999,8 @@ int main(int argc, char **argv)
>  
>  	setup_tracer();
>  
> +	enable_trace_mark();
> +
>  	if (check_timer())
>  		warn("High resolution timers not available\n");
>  
> -- 
> 2.1.0
> 

I've pushed all the fixed up to before this point to kernel.org
can you respin this patch against the latest code?

Once it applies cleanly then I'll take it

Thanks

John
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux