summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremax <emax@FreeBSD.org>2012-05-23 18:56:29 +0000
committeremax <emax@FreeBSD.org>2012-05-23 18:56:29 +0000
commit0984d7ec39e8d7afe61d1748d9a563d7e2f9ff41 (patch)
tree9a9f296f4d37ffb56c6b79254f839f5ce967ed70
parent94cbb01e940dc295ce18c341e7d259dc0ef55c4e (diff)
downloadFreeBSD-src-0984d7ec39e8d7afe61d1748d9a563d7e2f9ff41.zip
FreeBSD-src-0984d7ec39e8d7afe61d1748d9a563d7e2f9ff41.tar.gz
Tweak condition for disabling allocation from per-CPU buckets in
low memory situation. I've observed a situation where per-CPU allocations were disabled while there were enough free cached pages. Basically, cnt.v_free_count was sitting stable at a value lower than cnt.v_free_min and that caused massive performance drop. Reviewed by: alc MFC after: 1 week
-rw-r--r--sys/vm/uma_core.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index eaa2faf..5b83ec3 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -272,10 +272,7 @@ SYSCTL_PROC(_vm, OID_AUTO, zone_stats, CTLFLAG_RD|CTLTYPE_STRUCT,
static void
bucket_enable(void)
{
- if (cnt.v_free_count < cnt.v_free_min)
- bucketdisable = 1;
- else
- bucketdisable = 0;
+ bucketdisable = vm_page_count_min();
}
/*
OpenPOWER on IntegriCloud