[PATCHv3,00/12] dmapool enhancements

Message ID 20230103191551.3254778-1-kbusch@meta.com
Headers
Series dmapool enhancements |

Message

Keith Busch Jan. 3, 2023, 7:15 p.m. UTC
  From: Keith Busch <kbusch@kernel.org>

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