Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 May 2012 13:15:51 -0500
From:      Alan Cox <alan.l.cox@gmail.com>
To:        Maksim Yevmenkin <maksim.yevmenkin@gmail.com>
Cc:        current@freebsd.org
Subject:   Re: RFC: [PATCH] disabling buckets under "low memory"
Message-ID:  <CAJUyCcMKsf9dK1uXqo7n6Lr3ETtVB2%2BL0=FhZ323ow9BnXYVzQ@mail.gmail.com>
In-Reply-To: <CAFPOs6qihXPA_N7CbYHa=U_PMcKPazXEQy7c9xygUpVWmPzx1g@mail.gmail.com>
References:  <CAFPOs6qihXPA_N7CbYHa=U_PMcKPazXEQy7c9xygUpVWmPzx1g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 23, 2012 at 1:05 PM, Maksim Yevmenkin <
maksim.yevmenkin@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
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJUyCcMKsf9dK1uXqo7n6Lr3ETtVB2%2BL0=FhZ323ow9BnXYVzQ>