Skip to content

Commit

Permalink
perf tools: Fix precise_ip fallback logic
Browse files Browse the repository at this point in the history
Sometimes it returns other than EOPNOTSUPP for invalid precise_ip so
it cannot check the error code.  Let's move the fallback after the
missing feature checks so that it can handle EINVAL as well.  This also
aligns well with the existing behavior which blindly turns off the
precise_ip but we check the missing features correctly now.

Fixes: af954f7 ("perf tools: Check fallback error and order")
Reported-by: kernel test robot <oliver.sang@intel.com>
Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Closes: https://lore.kernel.org/oe-lkp/202411301431.799e5531-lkp@intel.com
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/r/Z1DV0lN8qHSysX7f@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
  • Loading branch information
Namhyung Kim committed Dec 5, 2024
1 parent 968121f commit c33aea4
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions tools/perf/util/evsel.c
Original file line number Diff line number Diff line change
Expand Up @@ -2571,12 +2571,12 @@ static int evsel__open_cpu(struct evsel *evsel, struct perf_cpu_map *cpus,
if (err == -EMFILE && rlimit__increase_nofile(&set_rlimit))
goto retry_open;

if (err == -EOPNOTSUPP && evsel__precise_ip_fallback(evsel))
goto retry_open;

if (err == -EINVAL && evsel__detect_missing_features(evsel))
goto fallback_missing_features;

if (evsel__precise_ip_fallback(evsel))
goto retry_open;

if (evsel__handle_error_quirks(evsel, err))
goto retry_open;

Expand Down

0 comments on commit c33aea4

Please sign in to comment.