HomeFreeBSD

Fix assert in PowerPC pmaps after introduction of object busy.

Description

Fix assert in PowerPC pmaps after introduction of object busy.

The VM_PAGE_OBJECT_BUSY_ASSERT() in pmap_enter() implementation should
be only asserted when the code is executed as result of pmap_enter(),
not when the same code is entered from e.g. pmap_enter_quick(). This
is relevant for all PowerPC pmap variants, because mmu_*_enter() is
used as the backend, and assert is located there.

Add a PowerPC private pmap_enter() PMAP_ENTER_QUICK_LOCKED flag to
indicate that the call is not from pmap_enter(). For non-quick-locked
calls, assert that the object is locked.

Reported and tested by: bdragon
Reviewed by: alc, bdragon, markj
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D22041

Details

Provenance
kibAuthored on
Reviewer
alc
Differential Revision
D22041: Fix assert in powerpc pmaps after introduction of object busy.
Parents
rS353621: MFV r353619: 9691 fat zap should prefetch when iterating
Branches
Unknown
Tags
Unknown