dillon c8a95a285d 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
2001-02-04 06:19:28 +00:00
..
2001-01-28 06:39:56 +00:00
2001-01-24 08:42:39 +00:00
2001-01-24 10:40:56 +00:00
2000-12-02 05:45:32 +00:00
2001-01-24 10:43:25 +00:00
2001-01-24 00:35:12 +00:00
2001-01-24 00:33:44 +00:00
2000-10-20 07:58:15 +00:00
2001-01-08 07:22:06 +00:00
2001-01-24 11:08:02 +00:00
2000-12-01 08:57:47 +00:00
2001-01-29 13:05:21 +00:00
2001-01-01 23:09:53 +00:00
2000-12-31 23:12:20 +00:00
2000-12-28 12:17:35 +00:00
2001-01-24 11:11:35 +00:00
2001-01-24 11:12:37 +00:00
2001-01-24 11:15:24 +00:00
2000-12-02 05:45:32 +00:00
2000-12-01 08:57:47 +00:00
2001-01-29 10:06:22 +00:00
2001-01-29 09:43:36 +00:00
2001-01-02 11:51:55 +00:00
2000-12-09 09:35:55 +00:00
2001-01-31 04:54:23 +00:00
2000-12-09 09:35:55 +00:00
2001-01-31 04:54:23 +00:00