Source-Changes archive
[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
Modified Files:
src/sys/miscfs/genfs [uebayasi-xip]: genfs_io.c
src/sys/uvm [uebayasi-xip]: uvm_bio.c uvm_fault.c uvm_pager.h
Log Message:
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
uvm_page_zeropage_alloc(9).
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 -r1.36.2.59 -r1.36.2.60 src/sys/miscfs/genfs/genfs_io.c
cvs rdiff -u -r1.68.2.12 -r1.68.2.13 src/sys/uvm/uvm_bio.c
cvs rdiff -u -r1.166.2.23 -r1.166.2.24 src/sys/uvm/uvm_fault.c
cvs rdiff -u -r1.38.14.1 -r1.38.14.2 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.
Home |
Main Index |
Thread Index |
Old Index