From owner-cvs-all Sat Feb 3 22:19:51 2001 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 4664F37B401; Sat, 3 Feb 2001 22:19:31 -0800 (PST) Received: (from dillon@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f146JUA73454; Sat, 3 Feb 2001 22:19:30 -0800 (PST) (envelope-from dillon) Message-Id: <200102040619.f146JUA73454@freefall.freebsd.org> From: Matt Dillon Date: Sat, 3 Feb 2001 22:19:30 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 machdep.c src/sys/kern vfs_bio.c src/sys/vm vm_map.c X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG dillon 2001/02/03 22:19:30 PST Modified files: sys/i386/i386 machdep.c sys/kern vfs_bio.c sys/vm vm_map.c Log: This commit represents work mainly submitted by Tor and slightly modified by myself. It solves a serious vm_map corruption problem that can occur with the buffer cache when block sizes > 64K are used. This code has been heavily tested in -stable but only tested somewhat on -current. An MFC will occur in a few days. My additions include the vm_map_simplify_entry() and minor buffer cache boundry case fix. Make the buffer cache use a system map for buffer cache KVM rather then a normal map. Ensure that VM objects are not allocated for system maps. There were cases where a buffer map could wind up with a backing VM object -- normally harmless, but this could also result in the buffer cache blocking in places where it assumes no blocking will occur, possibly resulting in corrupted maps. Fix a minor boundry case in the buffer cache size limit is reached that could result in non-optimal code. Add vm_map_simplify_entry() calls to prevent 'creeping proliferation' of vm_map_entry's in the buffer cache's vm_map. Previously only a simple linear optimization was made. (The buffer vm_map typically has only a handful of vm_map_entry's. This stabilizes it at that level permanently). PR: 20609 Submitted by: (Tor Egge) tegge Revision Changes Path 1.438 +2 -1 src/sys/i386/i386/machdep.c 1.271 +14 -7 src/sys/kern/vfs_bio.c 1.194 +24 -8 src/sys/vm/vm_map.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message