Page MenuHomeFreeBSD

D17785.id.diff
No OneTemporary

D17785.id.diff

Index: sys/vm/uma_core.c
===================================================================
--- sys/vm/uma_core.c
+++ sys/vm/uma_core.c
@@ -2556,14 +2556,14 @@
critical_enter();
cpu = curcpu;
cache = &zone->uz_cpu[cpu];
+
/*
* See if we lost the race or were migrated. Cache the
* initialized bucket to make this less likely or claim
* the memory directly.
*/
if (cache->uc_allocbucket == NULL &&
- ((zone->uz_flags & UMA_ZONE_NUMA) == 0 ||
- domain == PCPU_GET(domain))) {
+ (domain == UMA_ANYDOMAIN || domain == PCPU_GET(domain))) {
cache->uc_allocbucket = bucket;
} else if ((zone->uz_flags & UMA_ZONE_NOBUCKETCACHE) != 0) {
critical_exit();
@@ -3219,11 +3219,11 @@
cpu = curcpu;
cache = &zone->uz_cpu[cpu];
if (cache->uc_freebucket == NULL &&
- ((zone->uz_flags & UMA_ZONE_NUMA) == 0 ||
- domain == PCPU_GET(domain))) {
+ (domain == UMA_ANYDOMAIN || domain == PCPU_GET(domain))) {
cache->uc_freebucket = bucket;
goto zfree_start;
}
+
/*
* We lost the race, start over. We have to drop our
* critical section to free the bucket.

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 28, 6:58 AM (27 m, 8 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29035044
Default Alt Text
D17785.id.diff (1 KB)

Event Timeline