Re: DMA-API: cacheline tracking ENOMEM, dma-debug disabled due to nouveau ?

From: Robin Murphy
Date: Thu Aug 15 2019 - 09:50:57 EST


On 15/08/2019 14:35, Christoph Hellwig wrote:
On Wed, Aug 14, 2019 at 07:49:27PM +0200, Daniel Vetter wrote:
On Wed, Aug 14, 2019 at 04:50:33PM +0200, Corentin Labbe wrote:
Hello

Since lot of release (at least since 4.19), I hit the following error message:
DMA-API: cacheline tracking ENOMEM, dma-debug disabled

After hitting that, I try to check who is creating so many DMA mapping and see:
cat /sys/kernel/debug/dma-api/dump | cut -d' ' -f2 | sort | uniq -c
6 ahci
257 e1000e
6 ehci-pci
5891 nouveau
24 uhci_hcd

Does nouveau having this high number of DMA mapping is normal ?

Yeah seems perfectly fine for a gpu.

That is a lot and apparently overwhelm the dma-debug tracking. Robin
rewrote this code in Linux 4.21 to work a little better, so I'm curious
why this might have changes in 4.19, as dma-debug did not change at
all there.

FWIW, the cacheline tracking entries are a separate thing from the dma-debug entries that I rejigged - judging by those numbers there should still be plenty of free dma-debug entries, but for some reason it has failed to extend the radix tree :/

Robin.