summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-12 02:55:55 +0000
committeralc <alc@FreeBSD.org>2002-07-12 02:55:55 +0000
commit41d34057a5d37dd4f1725be38b29bef7cacbada5 (patch)
treea973afe20c5fe5cceb683f05c146147067a4ca75 /sys/vm
parentb1a7b34086542203808b4180044672dc6b331109 (diff)
downloadFreeBSD-src-41d34057a5d37dd4f1725be38b29bef7cacbada5.zip
FreeBSD-src-41d34057a5d37dd4f1725be38b29bef7cacbada5.tar.gz
o Lock accesses to the page queues.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/device_pager.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c
index 890d068..e7acedc 100644
--- a/sys/vm/device_pager.c
+++ b/sys/vm/device_pager.c
@@ -226,9 +226,10 @@ dev_pager_getpages(object, m, count, reqpage)
*/
page = dev_pager_getfake(paddr);
TAILQ_INSERT_TAIL(&object->un_pager.devp.devp_pglist, page, pageq);
- for (i = 0; i < count; i++) {
+ vm_page_lock_queues();
+ for (i = 0; i < count; i++)
vm_page_free(m[i]);
- }
+ vm_page_unlock_queues();
vm_page_insert(page, object, offset);
return (VM_PAGER_OK);
OpenPOWER on IntegriCloud