perf lock: Correct field name "flags"
authorLeo Yan <leo.yan@linaro.org>
Wed, 4 Nov 2020 09:42:28 +0000 (17:42 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 12 Nov 2020 20:55:41 +0000 (17:55 -0300)
The tracepoint "lock:lock_acquire" contains field "flags" but not
"flag".  Current code wrongly retrieves value from field "flag" and it
always gets zero for the value, thus "perf lock" doesn't report the
correct result.

This patch replaces the field name "flag" with "flags", so can read out
the correct flags for locking.

Fixes: e4cef1f65061 ("perf lock: Fix state machine to recognize lock sequence")
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/r/20201104094229.17509-1-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-lock.c

index f0a1dbacb46c718df23086fa57cafb680538bcd0..5cecc1ad78e1f47ca23aa0558dad0d6f8f764f15 100644 (file)
@@ -406,7 +406,7 @@ static int report_lock_acquire_event(struct evsel *evsel,
        struct lock_seq_stat *seq;
        const char *name = evsel__strval(evsel, sample, "name");
        u64 tmp  = evsel__intval(evsel, sample, "lockdep_addr");
-       int flag = evsel__intval(evsel, sample, "flag");
+       int flag = evsel__intval(evsel, sample, "flags");
 
        memcpy(&addr, &tmp, sizeof(void *));