[PATCH v6 0/4] lib,kprobes: kretprobe scalability improvement

From: wuqiang
Date: Tue Nov 08 2022 - 02:15:41 EST


This patch series introduces a scalable and lockless ring-array based
object pool and replaces the original freelist (a LIFO queue based on
singly linked list) to improve the scalability of kretprobed routines.

Changes from v5 (https://lore.kernel.org/lkml/20221106053441.103199-1-wuqiang.matt@xxxxxxxxxxxxx/):
1) PATCH 2/4: test_objpool: build warnings with [-Wmissing-prototypes]
2) PATCH 3/4: fprobe.c: conflicts resolved for linux-6.1-rc4 merging

wuqiang (4):
lib: objpool added: ring-array based lockless MPMC queue
lib: objpool test module added
kprobes: kretprobe scalability improvement with objpool
kprobes: freelist.h removed

include/linux/freelist.h | 129 -----
include/linux/kprobes.h | 9 +-
include/linux/objpool.h | 153 ++++++
include/linux/rethook.h | 15 +-
kernel/kprobes.c | 95 ++--
kernel/trace/fprobe.c | 17 +-
kernel/trace/rethook.c | 80 +--
lib/Kconfig.debug | 11 +
lib/Makefile | 4 +-
lib/objpool.c | 487 ++++++++++++++++++
lib/test_objpool.c | 1052 ++++++++++++++++++++++++++++++++++++++
11 files changed, 1801 insertions(+), 251 deletions(-)
delete mode 100644 include/linux/freelist.h
create mode 100644 include/linux/objpool.h
create mode 100644 lib/objpool.c
create mode 100644 lib/test_objpool.c

--
2.34.1