Re: [BUG 5.14] arm64/mm: dma memory mapping fails (in some cases)

From: David Hildenbrand
Date: Mon Sep 20 2021 - 07:13:41 EST


On 18.09.21 07:18, Christoph Hellwig wrote:
On Sat, Sep 18, 2021 at 12:22:47AM +0300, Mike Rapoport wrote:
I did some digging and it seems that the most "generic" way to check if a
page is in RAM is page_is_ram(). It's not 100% bullet proof as it'll give
false negatives for architectures that do not register "System RAM", but
those are not using dma_map_resource() anyway and, apparently, never would.

The downside of page_is_ram is that it looks really expensiv for
something done at dma mapping time.


There would be ways to speed it up, similar to

https://lkml.kernel.org/r/20210902160919.25683-2-david@xxxxxxxxxx

but the end result is still walking a list. Question would be, how much that overhead matters in practice.

--
Thanks,

David / dhildenb