RFC: [PATCH] disabling buckets under "low memory"
Alan Cox
alan.l.cox at gmail.com
Wed May 23 18:15:52 UTC 2012
On Wed, May 23, 2012 at 1:05 PM, Maksim Yevmenkin <
maksim.yevmenkin at gmail.com> wrote:
> hello,
>
> would anyone object to the following patch?
>
>
No objection. There shouldn't be any controversy here. Your patch is
correct. The existing code in UMA is doing the wrong comparison.
Alan
> ===
>
> Index: uma_core.c
> ===================================================================
> --- uma_core.c (revision 616)
> +++ uma_core.c (working copy)
> @@ -267,10 +267,7 @@
> static void
> bucket_enable(void)
> {
> - if (cnt.v_free_count < cnt.v_free_min)
> - bucketdisable = 1;
> - else
> - bucketdisable = 0;
> + bucketdisable = vm_page_count_min();
> }
>
> ===
>
> i've observed situation where per-cpu buckets 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. tuning down vm.v_free_min sysctl immediately
> helped.
>
> thanks,
> max
>
More information about the freebsd-current
mailing list