The so-called "optimized copy-on-write fault" case should not require

the vm map lock.  What's really needed is vm object locking, which
is (for the moment) provided Giant.

Reviewed by:	tegge
This commit is contained in:
alc 2003-06-20 04:20:36 +00:00
parent d27c98ff96
commit 36de2c5867

View File

@ -683,7 +683,7 @@ RetryFault:;
* dirty in the first object so that it will go out
* to swap when needed.
*/
if (map_generation == fs.map->timestamp &&
if (
/*
* Only one shadow object
*/
@ -704,14 +704,7 @@ RetryFault:;
/*
* We don't chase down the shadow chain
*/
(fs.object == fs.first_object->backing_object) &&
/*
* grab the lock if we need to
*/
(fs.lookup_still_valid || vm_map_trylock(fs.map))) {
fs.lookup_still_valid = 1;
fs.object == fs.first_object->backing_object) {
/*
* get rid of the unnecessary page
*/