summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_jumbo.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-04-19 19:13:25 +0000
committeralc <alc@FreeBSD.org>2003-04-19 19:13:25 +0000
commitd558a7a53b5bf20f012c13da1c784b62854e09b1 (patch)
treed432375012c8be2c01df8084b7a2c6ac7ede7b4c /sys/kern/uipc_jumbo.c
parent89bace76fc07b17d977715d4657aec14fa8235ea (diff)
downloadFreeBSD-src-d558a7a53b5bf20f012c13da1c784b62854e09b1.zip
FreeBSD-src-d558a7a53b5bf20f012c13da1c784b62854e09b1.tar.gz
Lock the jumbo_vm_object when performing vm_page_alloc().
Diffstat (limited to 'sys/kern/uipc_jumbo.c')
-rw-r--r--sys/kern/uipc_jumbo.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/uipc_jumbo.c b/sys/kern/uipc_jumbo.c
index 30e91f7..7c70539 100644
--- a/sys/kern/uipc_jumbo.c
+++ b/sys/kern/uipc_jumbo.c
@@ -197,7 +197,9 @@ jumbo_pg_alloc(void)
entry = SLIST_FIRST(&jumbo_kmap_free);
if (entry != NULL){
pindex = atop(entry->kva - jumbo_basekva);
+ VM_OBJECT_LOCK(jumbo_vm_object);
pg = vm_page_alloc(jumbo_vm_object, pindex, VM_ALLOC_INTERRUPT);
+ VM_OBJECT_UNLOCK(jumbo_vm_object);
if (pg != NULL) {
SLIST_REMOVE_HEAD(&jumbo_kmap_free, entries);
SLIST_INSERT_HEAD(&jumbo_kmap_inuse, entry, entries);
OpenPOWER on IntegriCloud