[PATCHv4 00/12] dmapool enhancements

From: Keith Busch
Date: Thu Jan 26 2023 - 16:51:44 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 v4:

Added received reviews

Applied comments from Christoph:
Combined all debug code in one #ifdef block
Fixed some whitespace

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 | 402 ++++++++++++++++++++++------------------------
mm/dmapool_test.c | 147 +++++++++++++++++
4 files changed, 350 insertions(+), 209 deletions(-)
create mode 100644 mm/dmapool_test.c

--
2.30.2