staging: vchiq_arm: Usa a DMA pool for small bulks
authordetule <ogjoneski@gmail.com>
Tue, 2 Oct 2018 08:10:08 +0000 (04:10 -0400)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:33:11 +0000 (11:33 +0000)
commit06e14c8736bce3d05196eb90dcfaca6afaf5657e
tree8a0adfa98718b3216b60663d07f82bfc4ac86741
parent4fcd08d8ff7940475235550c444b3f011a3e1f33
staging: vchiq_arm: Usa a DMA pool for small bulks

During a bulk transfer we request a DMA allocation to hold the
scatter-gather list.  Most of the time, this allocation is small
(<< PAGE_SIZE), however it can be requested at a high enough frequency
to cause fragmentation and/or stress the CMA allocator (think time
spent in compaction here, or during allocations elsewhere).

Implement a pool to serve up small DMA allocations, falling back
to a coherent allocation if the request is greater than
VCHIQ_DMA_POOL_SIZE.

Signed-off-by: Oliver Gjoneski <ogjoneski@gmail.com>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c