Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Chuck Silvers <chs@netbsd.org>
List: source-changes
Date: 11/13/2003 02:44:02
Module Name: src
Committed By: chs
Date: Thu Nov 13 02:44:02 UTC 2003
Modified Files:
src/sys/kern: subr_pool.c
src/sys/sys: pool.h
src/sys/uvm: uvm_map.c
Log Message:
two changes in improve scalability:
(1) split the single list of pages allocated to a pool into three lists:
completely full, partially full, and completely empty.
there is no longer any need to traverse any list looking for a
certain type of page.
(2) replace the 8-element hash table for out-of-page page headers
with a splay tree.
these two changes (together with the recent enhancements to the wait code)
give us linear scaling for a fork+exit microbenchmark.
To generate a diff of this commit:
cvs rdiff -r1.87 -r1.88 src/sys/kern/subr_pool.c
cvs rdiff -r1.40 -r1.41 src/sys/sys/pool.h
cvs rdiff -r1.150 -r1.151 src/sys/uvm/uvm_map.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.