linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv4 00/12] dmapool enhancements
@ 2023-01-26 21:51 Keith Busch
  2023-01-26 21:51 ` [PATCHv4 01/12] dmapool: add alloc/free performance test Keith Busch
                   ` (12 more replies)
  0 siblings, 13 replies; 21+ messages in thread
From: Keith Busch @ 2023-01-26 21:51 UTC (permalink / raw)
  To: linux-mm, linux-kernel, willy, hch, tonyb, akpm; +Cc: 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 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



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

end of thread, other threads:[~2023-02-28  2:18 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-26 21:51 [PATCHv4 00/12] dmapool enhancements Keith Busch
2023-01-26 21:51 ` [PATCHv4 01/12] dmapool: add alloc/free performance test Keith Busch
2023-01-26 21:51 ` [PATCHv4 02/12] dmapool: remove checks for dev == NULL Keith Busch
2023-01-26 21:51 ` [PATCHv4 03/12] dmapool: use sysfs_emit() instead of scnprintf() Keith Busch
2023-01-26 21:51 ` [PATCHv4 04/12] dmapool: cleanup integer types Keith Busch
2023-01-26 21:51 ` [PATCHv4 05/12] dmapool: speedup DMAPOOL_DEBUG with init_on_alloc Keith Busch
2023-01-26 21:51 ` [PATCHv4 06/12] dmapool: move debug code to own functions Keith Busch
2023-01-26 21:51 ` [PATCHv4 07/12] dmapool: rearrange page alloc failure handling Keith Busch
2023-01-26 21:51 ` [PATCHv4 08/12] dmapool: consolidate page initialization Keith Busch
2023-01-26 21:51 ` [PATCHv4 09/12] dmapool: simplify freeing Keith Busch
2023-01-26 21:51 ` [PATCHv4 10/12] dmapool: don't memset on free twice Keith Busch
2023-01-26 21:51 ` [PATCHv4 11/12] dmapool: link blocks across pages Keith Busch
2023-02-01 17:42   ` Bryan O'Donoghue
2023-02-01 17:43     ` Keith Busch
2023-02-02  0:38       ` Bryan O'Donoghue
2023-02-27  0:54   ` Guenter Roeck
2023-02-28  1:01     ` Keith Busch
2023-02-28  2:18       ` Guenter Roeck
2023-01-26 21:51 ` [PATCHv4 12/12] dmapool: create/destroy cleanup Keith Busch
2023-01-26 22:22 ` [PATCHv4 00/12] dmapool enhancements Andrew Morton
2023-01-27  0:27   ` Keith Busch

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