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>