Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 04/24/2000 10:12:02
Module Name: syssrc
Committed By: thorpej
Date: Mon Apr 24 17:12:02 UTC 2000
Modified Files:
syssrc/sys/uvm: uvm.h uvm_extern.h uvm_map.c uvm_page.c uvm_page.h
uvm_pglist.c
syssrc/sys/vm: pglist.h vm_page.h
Log Message:
Changes necessary to implement pre-zero'ing of pages in the idle loop:
- Make page free lists have two actual queues: known-zero pages and
pages with unknown contents.
- Implement uvm_pageidlezero(). This function attempts to zero up to
the target number of pages until the target has been reached (currently
target is `all free pages') or until whichqs becomes non-zero (indicating
that a process is ready to run).
- Define a new hook for the pmap module for pre-zero'ing pages. This is
used to zero the pages using uncached access. This allows us to zero
as many pages as we want without polluting the cache.
In order to use this feature, each platform must add the appropropriate
glue in their idle loop.
To generate a diff of this commit:
cvs rdiff -r1.20 -r1.21 syssrc/sys/uvm/uvm.h
cvs rdiff -r1.39 -r1.40 syssrc/sys/uvm/uvm_extern.h
cvs rdiff -r1.72 -r1.73 syssrc/sys/uvm/uvm_map.c
cvs rdiff -r1.33 -r1.34 syssrc/sys/uvm/uvm_page.c
cvs rdiff -r1.14 -r1.15 syssrc/sys/uvm/uvm_page.h
cvs rdiff -r1.8 -r1.9 syssrc/sys/uvm/uvm_pglist.c
cvs rdiff -r1.2 -r1.3 syssrc/sys/vm/pglist.h
cvs rdiff -r1.35 -r1.36 syssrc/sys/vm/vm_page.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.