Page MenuHomeFreeBSD

Use vm_page_unwire_noq() instead of vm_page_unwire(PQ_NONE).
ClosedPublic

Authored by markj on May 30 2019, 4:36 PM.

Details

Summary

For managed pages, these two calls are not equivalent:
vm_page_unwire(PQ_NONE) will remove the page from its page queue, if
any, while vm_page_unwire_noq() leaves it alone. However, the existing
callers of vm_page_unwire(PQ_NONE) are applying it to fictitious or
unmanaged pages, so there should be no functional impact.

Diff Detail

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 24602
Build 23385: arc lint + arc unit

Event Timeline

markj created this revision.May 30 2019, 4:36 PM
kib accepted this revision.May 30 2019, 5:27 PM
kib added inline comments.
sys/vm/vm_glue.c
233

Just a note that the page is managed. It is because it is freed immediately after, we can use vm_page_unwire_noq().

This revision is now accepted and ready to land.May 30 2019, 5:27 PM
markj added inline comments.Jun 7 2019, 6:12 PM
sys/vm/vm_glue.c
233

This call was added in D19247, so it will not be committed with the rest of this diff.

This revision was automatically updated to reflect the committed changes.