HomeFreeBSD

Fix object locking in vm_object_unwire() after r352174.

Description

Fix object locking in vm_object_unwire() after r352174.

Now, vm_page_busy_sleep() expects the page's object to be locked.
vm_object_unwire() does some unusual lazy locking of the object chain
and keeps objects locked until a busy page is encountered or the loop
terminates. When a busy page is encountered, rather than unlocking all
but the "bottom-level" object, we must instead skip the object to which
"tm" belongs.

Reported and tested by: pho
Reviewed by: kib
Discussed with: jeff
Sponsored by: Intel, Netflix
Differential Revision: https://reviews.freebsd.org/D21790

Details

Provenance
markjAuthored on
Reviewer
kib
Differential Revision
D21790: Fix object unlocking in vm_object_unwire() after r352174.
Parents
rS352799: controlelf: clean up warnings
Branches
Unknown
Tags
Unknown