Skip to content
  • Mark Johnston's avatar
    Wire pages in vm_page_grab() when appropriate. · b5d239cb
    Mark Johnston authored
    uiomove_object_page() and exec_map_first_page() would previously wire a
    page after having grabbed it.  Ask vm_page_grab() to perform the wiring
    instead: this removes some redundant code, and is cheaper in the case
    where the requested page is not resident since the page allocator can be
    asked to initialize the page as wired, whereas a separate vm_page_wire()
    call requires the page lock.
    
    In vm_imgact_hold_page(), use vm_page_unwire_noq() instead of
    vm_page_unwire(PQ_NONE).  The latter ensures that the page is dequeued
    before returning, but this is unnecessary since vm_page_free() will
    trigger a batched dequeue of the page.
    
    Reviewed by:	alc, kib
    Tested by:	pho (part of a larger patch)
    MFC after:	1 week
    Sponsored by:	Netflix
    Differential Revision:	https://reviews.freebsd.org/D21440
    b5d239cb