-
- Downloads
perf pmu: Use file system cache to optimize sysfs access
pmu.c does a lot of redundant /sys accesses while parsing aliases and probing for PMUs. On large systems with a lot of PMUs this can get expensive (>2s): % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 27.25 1.227847 8 160888 16976 openat 26.42 1.190481 7 164224 164077 stat Add a cache to remember if specific file names exist or don't exist, which eliminates most of this overhead. Also optimize some stat() calls to be slightly cheaper access() Resulting in: 0.18 0.004166 2 1851 305 open 0.08 0.001970 2 829 622 access Signed-off-by:Andi Kleen <ak@linux.intel.com> Acked-by:
Jiri Olsa <jolsa@kernel.org> Link: http://lore.kernel.org/lkml/20191121001522.180827-2-andi@firstfloor.org Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com>
Showing
- tools/perf/util/Build 1 addition, 0 deletionstools/perf/util/Build
- tools/perf/util/fncache.c 63 additions, 0 deletionstools/perf/util/fncache.c
- tools/perf/util/fncache.h 7 additions, 0 deletionstools/perf/util/fncache.h
- tools/perf/util/pmu.c 11 additions, 23 deletionstools/perf/util/pmu.c
- tools/perf/util/srccode.c 1 addition, 8 deletionstools/perf/util/srccode.c
Loading
Please register or sign in to comment