Lines Matching refs:pg
291 struct vm_page *pg; in uvn_findpage() local
314 pg = uvm_page_array_fill_and_peek(a, offset, nleft); in uvn_findpage()
315 if (pg != NULL && pg->offset != offset) { in uvn_findpage()
319 == (pg->offset < offset)); in uvn_findpage()
323 pg = NULL; in uvn_findpage()
331 if (pg == NULL) { in uvn_findpage()
336 pg = uvm_pagealloc(uobj, offset, NULL, in uvn_findpage()
338 if (pg == NULL) { in uvn_findpage()
350 (uintptr_t)pg, VM_PGCOLOR(pg), 0, 0); in uvn_findpage()
351 KASSERTMSG(uvm_pagegetdirty(pg) == in uvn_findpage()
352 UVM_PAGE_STATUS_CLEAN, "page %p not clean", pg); in uvn_findpage()
360 if ((pg->flags & PG_BUSY) != 0) { in uvn_findpage()
366 (uintptr_t)pg, VM_PGCOLOR(pg), 0, 0); in uvn_findpage()
367 uvm_pagewait(pg, uobj->vmobjlock, "uvnfp2"); in uvn_findpage()
374 if ((flags & UFP_NORDONLY) && (pg->flags & PG_RDONLY)) { in uvn_findpage()
381 const bool dirty = uvm_pagecheckdirty(pg, false); in uvn_findpage()
390 pg->flags |= PG_BUSY; in uvn_findpage()
391 UVM_PAGE_OWN(pg, "uvn_findpage"); in uvn_findpage()
394 (uintptr_t)pg, VM_PGCOLOR(pg), 0, 0); in uvn_findpage()
398 *pgp = pg; in uvn_findpage()
405 pg = uvm_page_array_peek(a); in uvn_findpage()
406 if (pg != NULL) { in uvn_findpage()
407 if (pg->offset == offset) { in uvn_findpage()
419 KASSERT(pg != NULL); in uvn_findpage()