]> git.baikalelectronics.ru Git - kernel.git/commit
dma-pool: scale the default DMA coherent pool size with memory capacity
authorDavid Rientjes <rientjes@google.com>
Wed, 15 Apr 2020 00:05:02 +0000 (17:05 -0700)
committerChristoph Hellwig <hch@lst.de>
Sat, 25 Apr 2020 11:17:06 +0000 (13:17 +0200)
commit74d618503fd87230ab99f58eed9451312ed5c2b4
tree22e67ec1a873a9783271ea1c601a383cefd55ca1
parent26c87373ba05e65248285c8f7f573ec2e59af2ff
dma-pool: scale the default DMA coherent pool size with memory capacity

When AMD memory encryption is enabled, some devices may use more than
256KB/sec from the atomic pools.  It would be more appropriate to scale
the default size based on memory capacity unless the coherent_pool
option is used on the kernel command line.

This provides a slight optimization on initial expansion and is deemed
appropriate due to the increased reliance on the atomic pools.  Note that
the default size of 128KB per pool will normally be larger than the
single coherent pool implementation since there are now up to three
coherent pools (DMA, DMA32, and kernel).

Note that even prior to this patch, coherent_pool= for sizes larger than
1 << (PAGE_SHIFT + MAX_ORDER-1) can fail.  With new dynamic expansion
support, this would be trivially extensible to allow even larger initial
sizes.

Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
kernel/dma/pool.c