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:
parent
d27c98ff96
commit
36de2c5867
@ -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
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user