Page MenuHomeFreeBSD

D49349.diff
No OneTemporary

D49349.diff

diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -5339,6 +5339,13 @@
zone_foreach(uma_reclaim_domain_cb, &args);
break;
case UMA_RECLAIM_DRAIN_CPU:
+ /*
+ * Reclaim globally visible free items from all zones, then drain
+ * per-CPU buckets, then reclaim items freed while draining.
+ * This approach minimizes expensive context switching needed to
+ * drain each zone's per-CPU buckets.
+ */
+ args.req = UMA_RECLAIM_DRAIN;
zone_foreach(uma_reclaim_domain_cb, &args);
pcpu_cache_drain_safe(NULL);
zone_foreach(uma_reclaim_domain_cb, &args);

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 20, 2:04 PM (21 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17160587
Default Alt Text
D49349.diff (624 B)

Event Timeline