<dec f='src/src/sys/uvm/uvm_page.h' l='241'/>
<doc f='src/src/sys/uvm/uvm_page.h' l='182'>/*
 * Overview of UVM page flags.
 *
 * Locking notes:
 *
 * PG_, struct vm_page::flags	=&gt; locked by owner
 * PQ_, struct vm_page::pqflags	=&gt; locked by uvm_pageqlock
 * PQ_FREE			=&gt; additionally locked by uvm_fpageqlock
 *
 * Flag descriptions:
 *
 * PG_BUSY:
 *	Page is long-term locked, usually because of I/O (transfer from the
 *	page memory to the backing store) is in progress.  LWP attempting
 *	to access the page shall set PG_WANTED and wait.
 *
 * PG_WANTED:
 *	Indicates that the page, which is currently PG_BUSY, is wanted by
 *	some other LWP.  The page owner (i.e. LWP which set PG_BUSY) is
 *	responsible to clear both flags and wake up any waiters once it has
 *	released the long-term lock (PG_BUSY).
 *
 * PG_RELEASED:
 *	Indicates that the page, which is currently PG_BUSY, should be freed
 *	after the release of long-term lock.  It is responsibility of the
 *	owning LWP (i.e. which set PG_BUSY) to do it.
 *
 * PG_CLEAN:
 *	Page has not been modified since it was loaded from the backing
 *	store.  If this flag is not set, page is considered &quot;dirty&quot;.
 *	XXX: Currently it means that the page *might* be clean; will be
 *	fixed with yamt-pagecache merge.
 *
 * PG_FAKE:
 *	Page has been allocated, but not yet initialised.  The flag is used
 *	to avoid overwriting of valid data, e.g. to prevent read from the
 *	backing store when in-core data is newer.
 *
 * PG_TABLED:
 *	Indicates that the page is currently in the object&apos;s offset queue,
 *	and that it should be removed from it once the page is freed.  Used
 *	diagnostic purposes.
 *
 * PG_PAGEOUT:
 *	Indicates that the page is being paged-out in preparation for
 *	being freed.
 *
 * PG_RDONLY:
 *	Indicates that the page must be mapped read-only.
 *
 * PG_ZERO:
 *	Indicates that the page has been pre-zeroed.  This flag is only
 *	set when the page is not in the queues and is cleared when the
 *	page is placed on the free list.
 *
 * PG_MARKER:
 *	Dummy marker page.
 */</doc>
<use f='src/src/sys/arch/x86/x86/pmap.c' l='1999' u='c'/>
<use f='src/src/sys/arch/x86/x86/pmap.c' l='4247' u='c'/>
<use f='src/src/sys/miscfs/genfs/genfs_io.c' l='476' u='c'/>
<use f='src/src/sys/miscfs/genfs/genfs_io.c' l='957' u='c'/>
<use f='src/src/sys/miscfs/genfs/genfs_io.c' l='993' u='c'/>
<use f='src/src/sys/miscfs/genfs/genfs_io.c' l='995' u='c'/>
<use f='src/src/sys/miscfs/genfs/genfs_io.c' l='1084' u='c'/>
<use f='src/src/sys/miscfs/genfs/genfs_io.c' l='1146' u='c'/>
<use f='src/src/sys/nfs/nfs_bio.c' l='987' u='c'/>
<use f='src/src/sys/ufs/lfs/lfs_pages.c' l='151' u='c'/>
<use f='src/src/sys/ufs/lfs/lfs_pages.c' l='200' u='c'/>
<use f='src/src/sys/ufs/lfs/lfs_pages.c' l='320' u='c'/>
<use f='src/src/sys/ufs/lfs/lfs_pages.c' l='331' u='c'/>
<use f='src/src/sys/ufs/lfs/lfs_pages.c' l='339' u='c'/>
<use f='src/src/sys/ufs/lfs/lfs_pages.c' l='370' u='c'/>
<use f='src/src/sys/ufs/lfs/lfs_pages.c' l='388' u='c'/>
<use f='src/src/sys/ufs/lfs/lfs_pages.c' l='531' u='c'/>
<use f='src/src/sys/uvm/uvm_amap.c' l='1025' u='c'/>
<use f='src/src/sys/uvm/uvm_amap.c' l='1074' u='c'/>
<use f='src/src/sys/uvm/uvm_anon.c' l='158' u='c'/>
<use f='src/src/sys/uvm/uvm_anon.c' l='439' u='c'/>
<use f='src/src/sys/uvm/uvm_aobj.c' l='618' u='c'/>
<use f='src/src/sys/uvm/uvm_aobj.c' l='770' u='c'/>
<use f='src/src/sys/uvm/uvm_aobj.c' l='927' u='c'/>
<use f='src/src/sys/uvm/uvm_aobj.c' l='941' u='c'/>
<use f='src/src/sys/uvm/uvm_aobj.c' l='1036' u='c'/>
<use f='src/src/sys/uvm/uvm_aobj.c' l='1055' u='c'/>
<use f='src/src/sys/uvm/uvm_aobj.c' l='1385' u='c'/>
<use f='src/src/sys/uvm/uvm_bio.c' l='294' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='198' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='329' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='493' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='584' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='1190' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='1448' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='1646' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='1689' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='1821' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='1911' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='1946' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='2011' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='2049' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='2107' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='2133' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='2181' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='2226' u='c'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='2251' u='c'/>
<use f='src/src/sys/uvm/uvm_km.c' l='457' u='c'/>
<use f='src/src/sys/uvm/uvm_km.c' l='540' u='c'/>
<use f='src/src/sys/uvm/uvm_km.c' l='691' u='c'/>
<use f='src/src/sys/uvm/uvm_km.c' l='842' u='c'/>
<use f='src/src/sys/uvm/uvm_loan.c' l='462' u='c'/>
<use f='src/src/sys/uvm/uvm_loan.c' l='721' u='c'/>
<use f='src/src/sys/uvm/uvm_loan.c' l='868' u='c'/>
<use f='src/src/sys/uvm/uvm_loan.c' l='1015' u='c'/>
<use f='src/src/sys/uvm/uvm_loan.c' l='1119' u='c'/>
<use f='src/src/sys/uvm/uvm_loan.c' l='1150' u='c'/>
<use f='src/src/sys/uvm/uvm_loan.c' l='1234' u='c'/>
<use f='src/src/sys/uvm/uvm_map.c' l='3817' u='c'/>
<use f='src/src/sys/uvm/uvm_page.c' l='1358' u='c'/>
<use f='src/src/sys/uvm/uvm_page.c' l='1550' u='c'/>
<use f='src/src/sys/uvm/uvm_page.c' l='1660' u='c'/>
<use f='src/src/sys/uvm/uvm_page.c' l='1674' u='c'/>
<use f='src/src/sys/uvm/uvm_page.c' l='1852' u='c'/>
<use f='src/src/sys/uvm/uvm_pager.c' l='233' u='c'/>
<use f='src/src/sys/uvm/uvm_pdaemon.c' l='612' u='c'/>
<use f='src/src/sys/uvm/uvm_pdaemon.c' l='629' u='c'/>
<use f='src/src/sys/uvm/uvm_pdaemon.c' l='746' u='c'/>
<use f='src/src/sys/uvm/uvm_pdaemon.c' l='872' u='c'/>
<use f='src/src/sys/uvm/uvm_pdaemon.c' l='886' u='c'/>
<use f='src/src/sys/uvm/uvm_vnode.c' l='281' u='c'/>
<use f='src/src/sys/uvm/uvm_vnode.c' l='313' u='c'/>
