[PATCHv3 00/12] dmapool enhancements

From: Keith Busch
Date: Tue Jan 03 2023 - 14:19:11 EST


From: Keith Busch <kbusch@xxxxxxxxxx>

Time spent in dma_pool alloc/free increases linearly with the number of
pages backing the pool. We can reduce this to constant time with minor
changes to how free pages are tracked.

Changes since v2:

Added received reviews

Applied suggestions from Christoph (removed inlines, use preferred
conditional compiling style, minor changes in patch sequence, use
kzalloc)

Fixed printf formats caught by kernel test robot

Added one extra cleanup patch at the end

Keith Busch (8):
dmapool: add alloc/free performance test
dmapool: move debug code to own functions
dmapool: rearrange page alloc failure handling
dmapool: consolidate page initialization
dmapool: simplify freeing
dmapool: don't memset on free twice
dmapool: link blocks across pages
dmapool: create/destroy cleanup

Tony Battersby (4):
dmapool: remove checks for dev == NULL
dmapool: use sysfs_emit() instead of scnprintf()
dmapool: cleanup integer types
dmapool: speedup DMAPOOL_DEBUG with init_on_alloc

mm/Kconfig | 9 ++
mm/Makefile | 1 +
mm/dmapool.c | 371 ++++++++++++++++++++++------------------------
mm/dmapool_test.c | 147 ++++++++++++++++++
4 files changed, 331 insertions(+), 197 deletions(-)
create mode 100644 mm/dmapool_test.c

--
2.30.2