[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221229235220.4044edccae7c9d39798af8e9@kernel.org>
Date: Thu, 29 Dec 2022 23:52:20 +0900
From: Masami Hiramatsu (Google) <mhiramat@...nel.org>
To: wuqiang <wuqiang.matt@...edance.com>
Cc: 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,
linux-kernel@...r.kernel.org, lkp@...el.com, mattwu@....com
Subject: Re: [PATCH v8 0/5] lib,kprobes: kretprobe scalability improvement
Hi Matt,
Sorry, I missed to commented v7 patch. Anyway, please read
my comments on previous version.
On Sun, 18 Dec 2022 13:03:05 +0800
wuqiang <wuqiang.matt@...edance.com> wrote:
> 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
At least this update part looks good to me.
(But I think this may be useful only for kretprobe/rethook
use cases...)
Thank you,
>
> 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
>
--
Masami Hiramatsu (Google) <mhiramat@...nel.org>
Powered by blists - more mailing lists