[RFC] sdhci: fix DMA leaks [was: [SHDCI] Heavy (thousands) DMA leaks]

Jiri Slaby
2015-08-05T15:11:53Z

[-- Attachment #1: Type: text/plain, Size: 860 bytes --]

On 08/05/2015, 01:52 PM, Jiri Slaby wrote:
>> Yes, I see:
>> sdhci-pci 0000:02:00.0: swiotlb buffer is full (sz: 65536 bytes)
>> after some time. The driver falls back to non-DMA transfers after that.
>> It also generates a warning about that:
>> WARNING: CPU: 0 PID: 0 at drivers/mmc/host/sdhci.c:857
>> sdhci_prepare_data+0x8ec/0x900 [sdhci]()
>
> I am attaching a debug patch and a debug log. You can see where
> 0x00000000fffb0000 and 0x00000000fffe0000 is leaked. It is when 'invalid
> cookie' error happens.

And you could see the cookie handling is totally bogus.

With this rewrite, I no longer see the problems. Could you confirm it
still does the good job with respect to performance -- the numbers you
mentioned in your commit.

Ulf, what do you think about the attached patch? (Do not look at the
commented info prints.)

thanks,
--
js
suse labs

[-- Attachment #2: fix.patch --]
[-- Type: application/mbox, Size: 6244 bytes --]