perf jit: Move clockid validation
Move clockid validation into jit_process() so it can later be made conditional. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1457005856-6143-6-git-send-email-adrian.hunter@intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
committed by
Ingo Molnar
parent
570735b33d
commit
4a018cc479
@@ -98,6 +98,21 @@ jit_close(struct jit_buf_desc *jd)
|
||||
jd->in = NULL;
|
||||
}
|
||||
|
||||
static int
|
||||
jit_validate_events(struct perf_session *session)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
|
||||
/*
|
||||
* check that all events use CLOCK_MONOTONIC
|
||||
*/
|
||||
evlist__for_each(session->evlist, evsel) {
|
||||
if (evsel->attr.use_clockid == 0 || evsel->attr.clockid != CLOCK_MONOTONIC)
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
jit_open(struct jit_buf_desc *jd, const char *name)
|
||||
{
|
||||
@@ -157,6 +172,14 @@ jit_open(struct jit_buf_desc *jd, const char *name)
|
||||
goto error;
|
||||
}
|
||||
|
||||
/*
|
||||
* validate event is using the correct clockid
|
||||
*/
|
||||
if (jit_validate_events(jd->session)) {
|
||||
pr_err("error, jitted code must be sampled with perf record -k 1\n");
|
||||
goto error;
|
||||
}
|
||||
|
||||
bs = header.total_size - sizeof(header);
|
||||
|
||||
if (bs > bsz) {
|
||||
|
||||
Reference in New Issue
Block a user