From: Luiz Capitulino <lcapitulino@redhat.com>
To: linux-rt-users@vger.kernel.org
Cc: jkacur@redhat.com, williams@redhat.com
Subject: [RFC 4/4] cyclictest: add --tracemark option
Date: Tue, 23 Feb 2016 14:43:53 -0500 [thread overview]
Message-ID: <1456256633-17639-5-git-send-email-lcapitulino@redhat.com> (raw)
In-Reply-To: <1456256633-17639-1-git-send-email-lcapitulino@redhat.com>
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's can be used like this:
# trace-cmd record [...] cyclictest [...] -bX --tracemark --notrace
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
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 e35088b..5a261e2 100644
--- a/src/cyclictest/cyclictest.c
+++ b/src/cyclictest/cyclictest.c
@@ -167,6 +167,7 @@ struct thread_stat {
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;
@@ -510,6 +511,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)
@@ -1234,7 +1247,7 @@ enum option_values {
OPT_QUIET, OPT_PRIOSPREAD, OPT_RELATIVE, OPT_RESOLUTION, OPT_SYSTEM,
OPT_SMP, OPT_THREADS, OPT_TRACER, OPT_UNBUFFERED, OPT_NUMA, OPT_VERBOSE,
OPT_WAKEUP, OPT_WAKEUPRT, OPT_DBGCYCLIC, OPT_POLICY, OPT_HELP, OPT_NUMOPTS,
- OPT_ALIGNED, OPT_LAPTOP, OPT_SECALIGNED,
+ OPT_ALIGNED, OPT_LAPTOP, OPT_SECALIGNED, OPT_TRACEMARK,
};
/* Process commandline options */
@@ -1285,6 +1298,7 @@ static void process_options (int argc, char *argv[], int max_cpus)
{"system", no_argument, NULL, OPT_SYSTEM },
{"smp", no_argument, NULL, OPT_SMP },
{"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 },
@@ -1509,6 +1523,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;
}
}
@@ -1850,6 +1866,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
next prev parent reply other threads:[~2016-02-23 19:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-23 19:43 [RFC 0/4] cyclictest: improve running under trace-cmd Luiz Capitulino
2016-02-23 19:43 ` [RFC 1/4] cyclictest: tracing(): check for notrace Luiz Capitulino
2016-02-23 19:43 ` [RFC 2/4] cyclictest: move debugfs init code to its own function Luiz Capitulino
2016-02-23 19:43 ` [RFC 3/4] cyclictest: move tracemark_fd handling " Luiz Capitulino
2016-02-23 19:43 ` Luiz Capitulino [this message]
2016-02-24 17:08 ` [RFC 0/4] cyclictest: improve running under trace-cmd John Kacur
2016-02-24 17:56 ` Luiz Capitulino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1456256633-17639-5-git-send-email-lcapitulino@redhat.com \
--to=lcapitulino@redhat.com \
--cc=jkacur@redhat.com \
--cc=linux-rt-users@vger.kernel.org \
--cc=williams@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).