aboutsummaryrefslogtreecommitdiffstats
path: root/lib/test_objpool.c
diff options
context:
space:
mode:
authorwuqiang.matt <[email protected]>2023-10-17 13:56:50 +0000
committerMasami Hiramatsu (Google) <[email protected]>2023-10-18 13:35:36 +0000
commitb4edb8d2d4647a71a246d91fe34ff25c2c5f3481 (patch)
tree3ceb410a8d74c411e2eeed26d9b2479e5dfea3c5 /lib/test_objpool.c
parenttracing/eprobe: drop unneeded breaks (diff)
downloadkernel-b4edb8d2d4647a71a246d91fe34ff25c2c5f3481.tar.gz
kernel-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/[email protected]/ Signed-off-by: wuqiang.matt <[email protected]> Acked-by: Masami Hiramatsu (Google) <[email protected]> Signed-off-by: Masami Hiramatsu (Google) <[email protected]>
Diffstat (limited to 'lib/test_objpool.c')
0 files changed, 0 insertions, 0 deletions