[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221218050310.1338630-1-wuqiang.matt@bytedance.com>
Date: Sun, 18 Dec 2022 13:03:05 +0800
From: wuqiang <wuqiang.matt@...edance.com>
To: mhiramat@...nel.org, davem@...emloft.net,
anil.s.keshavamurthy@...el.com, naveen.n.rao@...ux.ibm.com,
rostedt@...dmis.org, peterz@...radead.org,
akpm@...ux-foundation.org, sander@...nheule.net,
ebiggers@...gle.com, dan.j.williams@...el.com, jpoimboe@...nel.org
Cc: linux-kernel@...r.kernel.org, lkp@...el.com, mattwu@....com,
wuqiang <wuqiang.matt@...edance.com>
Subject: [PATCH v8 0/5] lib,kprobes: kretprobe scalability improvement
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 scalability of kretprobed routines.
v8:
1) objpool: refcount added for objpool lifecycle management
v7:
1) objpool: implementation simplified as Masami advised
2) rethook_alloc: error codes returning supported (ERR_PTR)
3) MAINTAINERS: support added for objpool files
4) synced to latest 6.1 with x86_64/x86/aarch64 verified
wuqiang (5):
lib: objpool added: ring-array based lockless MPMC queue
lib: objpool test module added
kprobes: kretprobe scalability improvement with objpool
kprobes: freelist.h removed
MAINTAINERS: objpool added
MAINTAINERS | 7 +
include/linux/freelist.h | 129 --------
include/linux/kprobes.h | 11 +-
include/linux/objpool.h | 116 +++++++
include/linux/rethook.h | 16 +-
kernel/kprobes.c | 93 +++---
kernel/trace/fprobe.c | 37 +--
kernel/trace/rethook.c | 91 +++---
lib/Kconfig.debug | 11 +
lib/Makefile | 4 +-
lib/objpool.c | 372 +++++++++++++++++++++
lib/test_objpool.c | 682 +++++++++++++++++++++++++++++++++++++++
12 files changed, 1292 insertions(+), 277 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
Powered by blists - more mailing lists