diff options
author | alc <alc@FreeBSD.org> | 2002-07-27 23:20:32 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2002-07-27 23:20:32 +0000 |
commit | d048dca979c1bebecefd36c13beb6bd29228dd53 (patch) | |
tree | 2be7447d17bab22996e719cdd2a90f87f82d95a6 /sys/vm/vm_object.c | |
parent | b12dee0079f63017c916948344386fa0e0ad5676 (diff) | |
download | FreeBSD-src-d048dca979c1bebecefd36c13beb6bd29228dd53.zip FreeBSD-src-d048dca979c1bebecefd36c13beb6bd29228dd53.tar.gz |
o Require that the page queues lock is held on entry to vm_pageout_clean()
and vm_pageout_flush().
o Acquire the page queues lock before calling vm_pageout_clean()
or vm_pageout_flush().
Diffstat (limited to 'sys/vm/vm_object.c')
-rw-r--r-- | sys/vm/vm_object.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 20c6d75..25c53ec 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -850,7 +850,7 @@ vm_object_page_collect_flush(vm_object_t object, vm_page_t p, int curgeneration, return(0); } } - + vm_page_lock_queues(); maxf = 0; for(i = 1; i < vm_pageout_page_count; i++) { vm_page_t tp; @@ -934,6 +934,7 @@ vm_object_page_collect_flush(vm_object_t object, vm_page_t p, int curgeneration, maxf = i - maxb - 1; } } + vm_page_unlock_queues(); return(maxf + 1); } |