Date: Sun, 7 Feb 1999 16:37:36 -0800 (PST) From: Matt Dillon <dillon@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/alpha/alpha vm_machdep.c src/sys/i386/i386 vm_machdep.c src/sys/vm vm_page.c vm_page.h vm_pageout.c Message-ID: <199902080037.QAA79913@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
dillon 1999/02/07 16:37:36 PST Modified files: sys/alpha/alpha vm_machdep.c sys/i386/i386 vm_machdep.c sys/vm vm_page.c vm_page.h vm_pageout.c Log: Rip out PQ_ZERO queue. PQ_ZERO functionality is now combined in with PQ_FREE. There is little operational difference other then the kernel being a few kilobytes smaller and the code being more readable. * vm_page_select_free() has been *greatly* simplified. * The PQ_ZERO page queue and supporting structures have been removed * vm_page_zero_idle() revamped (see below) PG_ZERO setting and clearing has been migrated from vm_page_alloc() to vm_page_free[_zero]() and will eventually be guarenteed to remain tracked throughout a page's life ( if it isn't already ). When a page is freed, PG_ZERO pages are appended to the appropriate tailq in the PQ_FREE queue while non-PG_ZERO pages are prepended. When locating a new free page, PG_ZERO selection operates from within vm_page_list_find() ( get page from end of queue instead of beginning of queue ) and then only occurs in the nominal critical path case. If the nominal case misses, both normal and zero-page allocation devolves into the same _vm_page_list_find() select code without any specific zero-page optimizations. Additionally, vm_page_zero_idle() has been revamped. Hysteresis has been added and zero-page tracking adjusted to conform with the other changes. Currently hysteresis is set at 1/3 (lo) and 1/2 (hi) the number of free pages. We may wish to increase both parameters as time permits. The hysteresis is designed to avoid silly zeroing in borderline allocation/free situations. Revision Changes Path 1.9 +7 -6 src/sys/alpha/alpha/vm_machdep.c 1.117 +23 -19 src/sys/i386/i386/vm_machdep.c 1.125 +34 -91 src/sys/vm/vm_page.c 1.55 +28 -14 src/sys/vm/vm_page.h 1.136 +2 -2 src/sys/vm/vm_pageout.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902080037.QAA79913>