[Bug 267621] panic: page ... already unswappable

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 07 Nov 2022 17:17:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267621

            Bug ID: 267621
           Summary: panic: page ... already unswappable
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: vangyzen@FreeBSD.org

We saw

  panic: page ... already unswappable

on a downstream codebase.  The page was wired.  Another thread in physio() ->
vm_fault_quick_hold_pages() -> vm_page_wire_mapped() had just wired it.

Can we simply relax the assertion?  Or should we test for a wired page (with
appropriate synchronization)?

This is trivially reproduced by adding vm_page_wire(mc[0]) at the top of
vm_pageout_flush(), which seems to be a fair repro due to the lack of
synchronization.

-- 
You are receiving this mail because:
You are the assignee for the bug.