Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Nov 2013 10:45:26 +0100
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        Alexander Motin <mav@freebsd.org>
Cc:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, Adrian Chadd <adrian@freebsd.org>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: UMA cache back pressure
Message-ID:  <CA%2BhQ2%2BjoZRJYmPdqi_0G3iRgAd_8rGVGayFT7FfHZ6MS_zziBQ@mail.gmail.com>
In-Reply-To: <5289DBF9.80004@FreeBSD.org>
References:  <52894C92.60905@FreeBSD.org> <CAJ-VmokYgfJ1tr-99qCXosBsyTZ698oLZ2oPpkdGODjo8%2BK3LQ@mail.gmail.com> <5289DBF9.80004@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 18, 2013 at 10:20 AM, Alexander Motin <mav@freebsd.org> wrote:

> On 18.11.2013 10:41, Adrian Chadd wrote:
>
>> Your patch does three things:
>>
>> * adds a couple new buckets;
>>
>
> These new buckets make bucket size self-tuning more soft and precise.
> Without them there are buckets for 1, 5, 13, 29, ... items. While at bigger
> sizes difference about 2x is fine, at smallest ones it is 5x and 2.6x
> respectively. New buckets make that line look like 1, 3, 5, 9, 13, 29,
> reducing jumps between steps, making algorithm work softer, allocating and
> freeing memory in better fitting chunks. Otherwise there is quite a big gap
> between allocating 128K and 5x128K of RAM at once.
>
>
just curious (and i do not understand whether the "1, 5 ..." are object
sizes in bytes or what), would it make sense to add some instrumentation
code (a small array of counters i presume) to track the actual number
of requests for exact object sizes, and perhaps at runtime create buckets
trying to reduce waste ?
Following your reasoning there seems to be still a big gap between
some of the numbers you quote in the sequence.

cheers
luigi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2BjoZRJYmPdqi_0G3iRgAd_8rGVGayFT7FfHZ6MS_zziBQ>