diff options
author | wuqiang.matt <wuqiang.matt@bytedance.com> | 2023-10-17 21:56:50 +0800 |
---|---|---|
committer | Masami Hiramatsu (Google) <mhiramat@kernel.org> | 2023-10-18 22:35:36 +0900 |
commit | b4edb8d2d4647a71a246d91fe34ff25c2c5f3481 (patch) | |
tree | 3ceb410a8d74c411e2eeed26d9b2479e5dfea3c5 /lib/Makefile | |
parent | f843249cb6a151bfe7b955dfb93ff29663c258fb (diff) | |
download | linux-b4edb8d2d4647a71a246d91fe34ff25c2c5f3481.tar.gz linux-b4edb8d2d4647a71a246d91fe34ff25c2c5f3481.tar.bz2 linux-b4edb8d2d4647a71a246d91fe34ff25c2c5f3481.zip |
lib: objpool added: ring-array based lockless MPMC
objpool is a scalable implementation of high performance queue for
object allocation and reclamation, such as kretprobe instances.
With leveraging percpu ring-array to mitigate hot spots of memory
contention, it delivers near-linear scalability for high parallel
scenarios. The objpool is best suited for the following cases:
1) Memory allocation or reclamation are prohibited or too expensive
2) Consumers are of different priorities, such as irqs and threads
Limitations:
1) Maximum objects (capacity) is fixed after objpool creation
2) All pre-allocated objects are managed in percpu ring array,
which consumes more memory than linked lists
Link: https://lore.kernel.org/all/20231017135654.82270-2-wuqiang.matt@bytedance.com/
Signed-off-by: wuqiang.matt <wuqiang.matt@bytedance.com>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Diffstat (limited to 'lib/Makefile')
-rw-r--r-- | lib/Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Makefile b/lib/Makefile index 740109b6e2c8..d0385909de8d 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -34,7 +34,7 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \ is_single_threaded.o plist.o decompress.o kobject_uevent.o \ earlycpio.o seq_buf.o siphash.o dec_and_lock.o \ nmi_backtrace.o win_minmax.o memcat_p.o \ - buildid.o + buildid.o objpool.o lib-$(CONFIG_PRINTK) += dump_stack.o lib-$(CONFIG_SMP) += cpumask.o |