linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv3 00/12] dmapool enhancements
@ 2023-01-03 19:15 Keith Busch
  2023-01-03 19:15 ` [PATCHv3 01/12] dmapool: add alloc/free performance test Keith Busch
                   ` (11 more replies)
  0 siblings, 12 replies; 18+ messages in thread
From: Keith Busch @ 2023-01-03 19:15 UTC (permalink / raw)
  To: linux-mm, linux-kernel, Matthew Wilcox, Christoph Hellwig
  Cc: Tony Battersby, Kernel Team, Keith Busch

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

-- 
2.30.2



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2023-01-08 17:09 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-03 19:15 [PATCHv3 00/12] dmapool enhancements Keith Busch
2023-01-03 19:15 ` [PATCHv3 01/12] dmapool: add alloc/free performance test Keith Busch
2023-01-03 19:15 ` [PATCHv3 02/12] dmapool: remove checks for dev == NULL Keith Busch
2023-01-03 19:15 ` [PATCHv3 03/12] dmapool: use sysfs_emit() instead of scnprintf() Keith Busch
2023-01-03 19:15 ` [PATCHv3 04/12] dmapool: cleanup integer types Keith Busch
2023-01-03 19:15 ` [PATCHv3 05/12] dmapool: speedup DMAPOOL_DEBUG with init_on_alloc Keith Busch
2023-01-03 19:15 ` [PATCHv3 06/12] dmapool: move debug code to own functions Keith Busch
2023-01-08 17:06   ` Christoph Hellwig
2023-01-03 19:15 ` [PATCHv3 07/12] dmapool: rearrange page alloc failure handling Keith Busch
2023-01-03 19:15 ` [PATCHv3 08/12] dmapool: consolidate page initialization Keith Busch
2023-01-08 17:07   ` Christoph Hellwig
2023-01-03 19:15 ` [PATCHv3 09/12] dmapool: simplify freeing Keith Busch
2023-01-08 17:08   ` Christoph Hellwig
2023-01-03 19:15 ` [PATCHv3 10/12] dmapool: don't memset on free twice Keith Busch
2023-01-03 19:15 ` [PATCHv3 11/12] dmapool: link blocks across pages Keith Busch
2023-01-08 17:08   ` Christoph Hellwig
2023-01-03 19:15 ` [PATCHv3 12/12] dmapool: create/destroy cleanup Keith Busch
2023-01-08 17:09   ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox