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>