diff options
author | Clark Williams <williams@redhat.com> | 2010-03-16 15:36:39 -0500 |
---|---|---|
committer | Clark Williams <williams@redhat.com> | 2010-03-16 15:36:39 -0500 |
commit | d61850a9f0ad4e84f105393003640163a8377c59 (patch) | |
tree | ccf7d9d6622ceba8d3045680e720c8c1c4e57fd0 | |
parent | 5860be7f4db454cfd5131813cbbe42a9a4fcd8b7 (diff) | |
download | rt-tests-d61850a9f0ad4e84f105393003640163a8377c59.tar.gz |
modifications to ftrace logic for correct operation
Change enable/disable file to be tracing/tracing_on; enable the
options/latency-trace format for function tracing; add tracetype
CUSTOM for use with the -T/--tracer option.
Signed-off-by: Clark Williams <williams@redhat.com>
-rw-r--r-- | src/cyclictest/cyclictest.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c index 31963ac..814a7d1 100644 --- a/src/cyclictest/cyclictest.c +++ b/src/cyclictest/cyclictest.c @@ -107,6 +107,7 @@ enum { IRQPREEMPTOFF, WAKEUP, WAKEUPRT, + CUSTOM, }; /* Struct to transfer parameters to the thread */ @@ -146,7 +147,7 @@ struct thread_stat { static int shutdown; static int tracelimit = 0; -static int ftrace = 0; +static int ftrace = 1; static int kernelversion; static int verbose = 0; static int oscope_reduction = 1; @@ -310,14 +311,14 @@ void tracing(int on) switch (kernelversion) { case KV_26_LT18: gettimeofday(0,(struct timezone *)1); break; case KV_26_LT24: prctl(0, 1); break; - case KV_26_CURR: setkernvar("tracing_enabled", "1"); break; + case KV_26_CURR: setkernvar("tracing_on", "1"); break; default: break; } } else { switch (kernelversion) { case KV_26_LT18: gettimeofday(0,0); break; case KV_26_LT24: prctl(0, 0); break; - case KV_26_CURR: setkernvar("tracing_enabled", "0"); break; + case KV_26_CURR: setkernvar("tracing_on", "0"); break; default: break; } } @@ -387,6 +388,8 @@ static void setup_tracer(void) char buffer[32]; int ret; + setkernvar("tracing_enabled", "1"); + sprintf(buffer, "%d", tracelimit); setkernvar("tracing_thresh", buffer); @@ -445,6 +448,7 @@ static void setup_tracer(void) fprintf(stderr, "Requested tracer '%s' not available\n", tracer); setkernvar(traceroptions, "print-parent"); + setkernvar(traceroptions, "latency-format"); if (verbose) { setkernvar(traceroptions, "sym-offset"); setkernvar(traceroptions, "sym-addr"); @@ -963,7 +967,10 @@ static void process_options (int argc, char *argv[]) else num_threads = max_cpus; break; - case 'T': strncpy(tracer, optarg, sizeof(tracer)); break; + case 'T': + tracetype = CUSTOM; + strncpy(tracer, optarg, sizeof(tracer)); + break; case 'u': setvbuf(stdout, NULL, _IONBF, 0); break; case 'v': verbose = 1; break; case 'm': lockall = 1; break; |