diff options
author | alc <alc@FreeBSD.org> | 2003-04-19 19:13:25 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-04-19 19:13:25 +0000 |
commit | d558a7a53b5bf20f012c13da1c784b62854e09b1 (patch) | |
tree | d432375012c8be2c01df8084b7a2c6ac7ede7b4c /sys/kern/uipc_jumbo.c | |
parent | 89bace76fc07b17d977715d4657aec14fa8235ea (diff) | |
download | FreeBSD-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.c | 2 |
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); |