[PATCH 0/4] proc/kcore: performance optimizations

From: Omar Sandoval
Date: Fri Nov 08 2024 - 20:29:05 EST


From: Omar Sandoval <osandov@xxxxxx>

Hi,

The performance of /proc/kcore reads has been showing up as a bottleneck
for drgn. drgn scripts often spend ~25% of their time in the kernel
reading from /proc/kcore.

A lot of this overhead comes from silly inefficiencies. This patch
series fixes the low-hanging fruit. The fixes are all fairly small and
straightforward. The result is a 25% improvement in read latency in
micro-benchmarks (from ~235 nanoseconds to ~175) and a 15% improvement
in execution time for real-world drgn scripts.

Since I have a stake in /proc/kcore and have modified it several times,
the final patch volunteers me to maintain it.

Thanks,
Omar

Omar Sandoval (4):
proc/kcore: mark proc entry as permanent
proc/kcore: don't walk list on every read
proc/kcore: use percpu_rw_semaphore for kclist_lock
MAINTAINERS: add me as /proc/kcore maintainer

MAINTAINERS | 7 +++++
fs/proc/kcore.c | 81 +++++++++++++++++++++++++------------------------
2 files changed, 48 insertions(+), 40 deletions(-)

--
2.47.0