diff options
author | emax <emax@FreeBSD.org> | 2012-05-23 18:56:29 +0000 |
---|---|---|
committer | emax <emax@FreeBSD.org> | 2012-05-23 18:56:29 +0000 |
commit | 0984d7ec39e8d7afe61d1748d9a563d7e2f9ff41 (patch) | |
tree | 9a9f296f4d37ffb56c6b79254f839f5ce967ed70 /sys/vm/uma_core.c | |
parent | 94cbb01e940dc295ce18c341e7d259dc0ef55c4e (diff) | |
download | FreeBSD-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
Diffstat (limited to 'sys/vm/uma_core.c')
-rw-r--r-- | sys/vm/uma_core.c | 5 |
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(); } /* |