Page MenuHomeFreeBSD

D25980.diff
No OneTemporary

D25980.diff

Index: head/sys/vm/uma_core.c
===================================================================
--- head/sys/vm/uma_core.c
+++ head/sys/vm/uma_core.c
@@ -3429,12 +3429,6 @@
bucket_free(zone, bucket, udata);
}
- /* Short-circuit for zones without buckets and low memory. */
- if (zone->uz_bucket_size == 0 || bucketdisable) {
- critical_enter();
- return (false);
- }
-
/*
* Attempt to retrieve the item from the per-CPU cache has failed, so
* we must go back to the zone. This requires the zdom lock, so we
@@ -3449,11 +3443,12 @@
VM_DOMAIN_EMPTY(domain))
domain = zone_domain_highest(zone, domain);
bucket = cache_fetch_bucket(zone, cache, domain);
- if (bucket == NULL) {
+ if (bucket == NULL && zone->uz_bucket_size != 0 && !bucketdisable) {
bucket = zone_alloc_bucket(zone, udata, domain, flags);
new = true;
- } else
+ } else {
new = false;
+ }
CTR3(KTR_UMA, "uma_zalloc: zone %s(%p) bucket zone returned %p",
zone->uz_name, zone, bucket);

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 18, 10:02 PM (8 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25553657
Default Alt Text
D25980.diff (995 B)

Event Timeline