Date: Sat, 31 Jan 1998 03:56:57 -0800 (PST) From: John Dyson <dyson@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/i386/i386 pmap.c src/sys/kern vfs_bio.c vfs_cluster.c src/sys/nfs nfs_serv.c src/sys/vm device_pager.c swap_pager.c vm_fault.c vm_kern.c vm_map.c vm_object.c vm_object.h vm_page.c vm_pageout.c vnode_pager.c Message-ID: <199801311156.DAA09301@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
dyson 1998/01/31 03:56:57 PST
Modified files:
sys/i386/i386 pmap.c
sys/kern vfs_bio.c vfs_cluster.c
sys/nfs nfs_serv.c
sys/vm device_pager.c swap_pager.c vm_fault.c
vm_kern.c vm_map.c vm_object.c
vm_object.h vm_page.c vm_pageout.c
vnode_pager.c
Log:
Change the busy page mgmt, so that when pages are freed, they
MUST be PG_BUSY. It is bogus to free a page that isn't busy,
because it is in a state of being "unavailable" when being
freed. The additional advantage is that the page_remove code
has a better cross-check that the page should be busy and
unavailable for other use. There were some minor problems
with the collapse code, and this plugs those subtile "holes."
Also, the vfs_bio code wasn't checking correctly for PG_BUSY
pages. I am going to develop a more consistant scheme for
grabbing pages, busy or otherwise. For now, we are stuck
with the current morass.
Revision Changes Path
1.179 +21 -7 src/sys/i386/i386/pmap.c
1.147 +22 -4 src/sys/kern/vfs_bio.c
1.53 +13 -2 src/sys/kern/vfs_cluster.c
1.55 +6 -1 src/sys/nfs/nfs_serv.c
1.28 +1 -2 src/sys/vm/device_pager.c
1.83 +3 -6 src/sys/vm/swap_pager.c
1.77 +5 -14 src/sys/vm/vm_fault.c
1.41 +1 -2 src/sys/vm/vm_kern.c
1.109 +5 -3 src/sys/vm/vm_map.c
1.109 +56 -25 src/sys/vm/vm_object.c
1.44 +3 -1 src/sys/vm/vm_object.h
1.88 +82 -41 src/sys/vm/vm_page.c
1.110 +7 -7 src/sys/vm/vm_pageout.c
1.81 +1 -2 src/sys/vm/vnode_pager.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801311156.DAA09301>
