mirror-linux/tools/perf/bench
James Clark 834ebb5678 perf tools: Don't read build-ids from non-regular files
Simplify the build ID reading code by removing the non-blocking option.
Having to pass the correct option to this function was fragile and a
mistake would result in a hang, see the linked fix. Furthermore,
compressed files are always opened blocking anyway, ignoring the
non-blocking option.

We also don't expect to read build IDs from non-regular files. The only
hits to this function that are non-regular are devices that won't be elf
files with build IDs, for example "/dev/dri/renderD129".

Now instead of opening these as non-blocking and failing to read, we
skip them. Even if something like a pipe or character device did have a
build ID, I don't think it would have worked because you need to call
read() in a loop, check for -EAGAIN and handle timeouts to make
non-blocking reads work.

Link: https://lore.kernel.org/linux-perf-users/20251022-james-perf-fix-dso-block-v1-1-c4faab150546@linaro.org/
Signed-off-by: James Clark <james.clark@linaro.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2025-11-26 10:13:38 -08:00
..
Build tools/perf: Allow to select the number of hash buckets 2025-05-03 12:02:10 +02:00
bench.h perf bench mem: Add mmap() workloads 2025-09-19 12:43:59 -03:00
breakpoint.c perf bench breakpoint: Skip run if no breakpoints available 2023-08-23 08:39:02 -03:00
epoll-ctl.c tools/perf: Fix perf bench epoll to enable the run when some CPU's are offline 2024-06-13 21:27:26 -07:00
epoll-wait.c perf bench: Fix undefined behavior in cmpworker() 2025-01-18 10:14:36 -08:00
evlist-open-close.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
find-bit-bench.c x86/asm: Remove code depending on __GCC_ASM_FLAG_OUTPUTS__ 2025-09-08 15:38:06 +02:00
futex-hash.c perf bench futex: Remove support for IMMUTABLE 2025-07-11 16:02:01 +02:00
futex-lock-pi.c perf bench futex: Remove support for IMMUTABLE 2025-07-11 16:02:01 +02:00
futex-requeue.c perf bench futex: Remove support for IMMUTABLE 2025-07-11 16:02:01 +02:00
futex-wake-parallel.c perf bench futex: Remove support for IMMUTABLE 2025-07-11 16:02:01 +02:00
futex-wake.c perf bench futex: Remove support for IMMUTABLE 2025-07-11 16:02:01 +02:00
futex.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
futex.h perf bench futex: Add missing stdbool.h 2025-10-02 15:08:44 -03:00
inject-buildid.c perf tools: Don't read build-ids from non-regular files 2025-11-26 10:13:38 -08:00
kallsyms-parse.c
mem-functions.c perf bench mem: Add mmap() workloads 2025-09-19 12:43:59 -03:00
mem-memcpy-arch.h perf bench mem: Pull out init/fini logic 2025-09-19 12:43:01 -03:00
mem-memcpy-x86-64-asm-def.h perf bench mem: Pull out init/fini logic 2025-09-19 12:43:01 -03:00
mem-memcpy-x86-64-asm.S tools headers: Update the copy of x86's mem{cpy,set}_64.S used in 'perf bench' 2023-05-17 10:42:19 -03:00
mem-memset-arch.h perf bench mem: Pull out init/fini logic 2025-09-19 12:43:01 -03:00
mem-memset-x86-64-asm-def.h perf bench mem: Pull out init/fini logic 2025-09-19 12:43:01 -03:00
mem-memset-x86-64-asm.S tools headers: Update the copy of x86's mem{cpy,set}_64.S used in 'perf bench' 2023-05-17 10:42:19 -03:00
numa.c perf header: Move is_cpu_online to numa bench 2024-11-16 16:36:47 -03:00
pmu-scan.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
sched-messaging.c perf bench messaging: Kill child processes when exit abnormally in process mode 2023-09-26 21:47:12 -07:00
sched-pipe.c perf bench sched pipe: fix enforced blocking reads in worker_thread 2025-03-23 23:20:37 -07:00
sched-seccomp-notify.c perf bench sched-seccomp-notify: Fix spelling mistake "synchronious" -> "synchronous" 2023-12-05 15:48:52 -03:00
synthesize.c perf auxtrace: Remove errno.h from auxtrace.h and fix transitive dependencies 2025-11-13 23:03:11 -08:00
syscall.c perf bench: Fix perf bench syscall loop count 2025-03-05 09:19:23 -08:00
uprobe.c perf bench uprobe: Add uretprobe variant of uprobe benchmarks 2024-04-12 17:54:02 -03:00