diff options
author | alc <alc@FreeBSD.org> | 2002-12-24 04:24:58 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2002-12-24 04:24:58 +0000 |
commit | f47bf7602e54364918fbcb92b366e315b8bc9290 (patch) | |
tree | 313e6d32c154edb747671c2e8b1e1fbd5ca53546 /sys/vm/vm_kern.c | |
parent | 32436a25c0510e4371c6f02353b447c09ba9db0d (diff) | |
download | FreeBSD-src-f47bf7602e54364918fbcb92b366e315b8bc9290.zip FreeBSD-src-f47bf7602e54364918fbcb92b366e315b8bc9290.tar.gz |
- Hold the page queues lock around vm_page_wakeup().
Diffstat (limited to 'sys/vm/vm_kern.c')
-rw-r--r-- | sys/vm/vm_kern.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index 3701082..f72bc32 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -200,9 +200,11 @@ kmem_alloc(map, size) VM_ALLOC_ZERO | VM_ALLOC_RETRY); if ((mem->flags & PG_ZERO) == 0) pmap_zero_page(mem); + vm_page_lock_queues(); mem->valid = VM_PAGE_BITS_ALL; vm_page_flag_clear(mem, PG_ZERO); vm_page_wakeup(mem); + vm_page_unlock_queues(); } /* |