Page MenuHomeFreeBSD

D19337.id54320.diff
No OneTemporary

D19337.id54320.diff

Index: sys/kern/subr_vmem.c
===================================================================
--- sys/kern/subr_vmem.c
+++ sys/kern/subr_vmem.c
@@ -691,9 +691,11 @@
/*
* Reserve enough tags to allocate new tags. We allow multiple
* CPUs to attempt to allocate new tags concurrently to limit
- * false restarts in UMA.
+ * false restarts in UMA. vmem_bt_alloc() allocates from a per-domain
+ * arena, which may involve importing a range from the kernel arena,
+ * so we need to keep at least 2 * BT_MAXALLOC tags reserved.
*/
- uma_zone_reserve(vmem_bt_zone, BT_MAXALLOC * (mp_ncpus + 1) / 2);
+ uma_zone_reserve(vmem_bt_zone, 2 * BT_MAXALLOC * mp_ncpus);
uma_zone_set_allocf(vmem_bt_zone, vmem_bt_alloc);
#endif
}
Index: sys/vm/vm_kern.c
===================================================================
--- sys/vm/vm_kern.c
+++ sys/vm/vm_kern.c
@@ -124,8 +124,8 @@
#if VM_NRESERVLEVEL > 0
#define KVA_QUANTUM_SHIFT (VM_LEVEL_0_ORDER + PAGE_SHIFT)
#else
-/* On non-superpage architectures want large import sizes. */
-#define KVA_QUANTUM_SHIFT (10 + PAGE_SHIFT)
+/* On non-superpage architectures we want large import sizes. */
+#define KVA_QUANTUM_SHIFT (8 + PAGE_SHIFT)
#endif
#define KVA_QUANTUM (1 << KVA_QUANTUM_SHIFT)

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 18, 12:22 AM (3 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31687713
Default Alt Text
D19337.id54320.diff (1 KB)

Event Timeline