CVSROOT: /cvs Module name: src Changes by: o...@cvs.openbsd.org 2009/05/23 08:06:37
Modified files: sys/uvm : uvm_pager.c uvm_vnode.c Log message: More PG_RELEASED cleaning. similar to the aobj.c changes, this one does vnodes. Vnodes are more complex because they actaully have to sync to backing store. So firstly, convert sync to sleep instead of setting released. Now, for backing store, in the PGO_FREE case, if we set PG_RELEASED *before* an async io, (nothing else will see it, the page is busy), then we can ignore the page after the io is done. We could do something similar for PGO_DEACTIVATE too, but that is another change. On error we just clear the released flag, nothing else sets it for uobj pages other than aiodoned. ok thib@, beck@, ariane@