Re: [PATCH 1/1] arch/mm/fault: fix major fault accounting when retrying under per-VMA lock

From: patchwork-bot+linux-riscv
Date: Sat Jan 20 2024 - 16:09:57 EST


Hello:

This patch was applied to riscv/linux.git (fixes)
by Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>:

On Tue, 26 Dec 2023 13:46:10 -0800 you wrote:
> A test [1] in Android test suite started failing after [2] was merged.
> It turns out that after handling a major fault under per-VMA lock, the
> process major fault counter does not register that fault as major.
> Before [2] read faults would be done under mmap_lock, in which case
> FAULT_FLAG_TRIED flag is set before retrying. That in turn causes
> mm_account_fault() to account the fault as major once retry completes.
> With per-VMA locks we often retry because a fault can't be handled
> without locking the whole mm using mmap_lock. Therefore such retries
> do not set FAULT_FLAG_TRIED flag. This logic does not work after [2]
> because we can now handle read major faults under per-VMA lock and
> upon retry the fact there was a major fault gets lost. Fix this by
> setting FAULT_FLAG_TRIED after retrying under per-VMA lock if
> VM_FAULT_MAJOR was returned. Ideally we would use an additional
> VM_FAULT bit to indicate the reason for the retry (could not handle
> under per-VMA lock vs other reason) but this simpler solution seems
> to work, so keeping it simple.
>
> [...]

Here is the summary with links:
- [1/1] arch/mm/fault: fix major fault accounting when retrying under per-VMA lock
https://git.kernel.org/riscv/c/46e714c729c8

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html