HomeFreeBSD

Have arm64's pmap_fault() handle WnR faults on dirty PTEs.

Description

Have arm64's pmap_fault() handle WnR faults on dirty PTEs.

If we take a WnR permission fault on a managed, writeable and dirty
PTE, simply return success without calling the main fault handler. This
situation can occur if multiple threads simultaneously access a clean
writeable mapping and trigger WnR faults; losers of the race to mark the
PTE dirty would end up calling the main fault handler, which had no work
to do.

Reported by: alc
Reviewed by: alc
MFC with: r350004
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21097

Details

Provenance
markjAuthored on Jul 29 2019, 9:21 PM
Parents
rG0367bca479dc: sendfile: don't panic when VOP_GETPAGES_ASYNC returns an error
Branches
Unknown
Tags
Unknown

Event Timeline