Arnaldo Carvalho de Melo 7da36e94e7 perf evsel: Fix write_backwards fallback
Commit b90dc17a5d14 "perf evsel: Add overwrite attribute and check
write_backward" misunderstood the 'order' should be obeyed in
__perf_evsel__open.

But the way this was done for attr.write_backwards was buggy, as we need
to check features in the inverse order of their introduction to the
kernel, so that a newer tool checks first the newest perf_event_attr
fields, detecting that the older kernel doesn't have support for them.

Also, we can avoid calling sys_perf_event_open() if we have already
detected the missing of write_backward.

Cc: He Kuang <hekuang@huawei.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Fixes: b90dc17a5d14 ("perf evsel: Add overwrite attribute and check write_backward")
Link: http://lkml.kernel.org/r/1466419645-75551-2-git-send-email-wangnan0@huawei.com
Link: http://lkml.kernel.org/r/20160616214724.GI13337@kernel.org
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-06-21 13:18:35 -03:00
..
2015-12-17 14:27:14 -03:00
2015-05-27 12:21:43 -03:00
2016-04-13 10:11:50 -03:00
2016-04-13 10:11:50 -03:00
2016-02-16 17:13:00 -03:00
2016-02-16 17:13:00 -03:00
2016-03-31 10:52:24 -03:00
2015-08-21 11:34:10 -03:00
2016-06-08 09:34:15 +02:00
2016-06-15 10:35:27 -03:00
2016-06-15 10:35:27 -03:00
2015-08-06 16:49:01 -03:00
2015-05-05 18:13:22 -03:00
2015-05-05 18:13:22 -03:00
2016-03-31 10:52:24 -03:00
2016-04-28 09:58:58 -03:00
2016-03-23 12:32:31 -03:00
2015-05-29 12:43:44 -03:00