Re: [PATCH v3 1/2] x86/ioremap: fix the pfn calculation mistake in __ioremap_check_ram()

From: Dave Hansen
Date: Fri Jul 02 2021 - 10:49:05 EST


On 7/2/21 3:05 AM, Yaohui Wang wrote:
> On 2021/7/1 22:41, Dave Hansen wrote:
>> Was this issue found by inspection, or is it causing an actual problem
>> in practice?
>
> This issus truly caused terrible perforamnce downgrade in the practice.
> When developing an out of tree module in our testing environment,
> invoking ioremap() on normal RAM causes apparent CLI lag. The Unixbench
> score also decreases a lot (5x slowdown in the worst case).
>
> Debugging such performance issue is extremely difficult, especially when
> the code of the faulty module itself is already very complex. I tested
> the system in many aspects before finally located this problem.

Do you know why this check:

> if ((res->flags & IORESOURCE_SYSTEM_RAM) != IORESOURCE_SYSTEM_RAM)
> return false;

did not catch your out-of-tree driver's errant ioremap()?