[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: [uebayasi-xip] src/sys
Module Name: src
Committed By: uebayasi
Date: Sun Nov 21 12:43:00 UTC 2010
src/sys/miscfs/genfs [uebayasi-xip]: genfs_io.c
src/sys/uvm [uebayasi-xip]: uvm_bio.c uvm_fault.c uvm_pager.h
Resurrect PGO_ZERO support.
When vnode pager encounters hole pages in XIP'ed vnodes, it fills
page slots with PGO_ZERO and returns them back to the caller (fault
handler). Fault handlers are responsible to check page slots and
redirect PGO_ZERO to the single "zero page" allocated by calling
The zero page is wired, read-only (PG_RDONLY) page. It's shared
by multiple vnodes, it has no single owner.
XIP'ed vnodes are supposed to be "stable" during I/O (unlocked).
Because XIP'ed mounts are always read-only. There's no chance to
change mappings of XIP'ed vnodes and their XIP'ed pages. Thus the
cached uobj is reused after pgo_get() for PGO_ZERO.
(Do we need a new concept of "read-only UVM object"?)
To generate a diff of this commit:
cvs rdiff -u -r220.127.116.11 -r18.104.22.168 src/sys/miscfs/genfs/genfs_io.c
cvs rdiff -u -r22.214.171.124 -r126.96.36.199 src/sys/uvm/uvm_bio.c
cvs rdiff -u -r188.8.131.52 -r184.108.40.206 src/sys/uvm/uvm_fault.c
cvs rdiff -u -r220.127.116.11 -r18.104.22.168 src/sys/uvm/uvm_pager.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Main Index |
Thread Index |