Date: Mon, 20 Sep 2010 20:39:58 -1000 (HST) From: Jeff Roberson <jroberson@jroberson.net> To: Andriy Gapon <avg@freebsd.org> Cc: Andre Oppermann <andre@freebsd.org>, Jeff Roberson <jeff@freebsd.org>, Robert Watson <rwatson@freebsd.org>, freebsd-hackers@freebsd.org Subject: Re: zfs + uma Message-ID: <alpine.BSF.2.00.1009202037260.23448@desktop> In-Reply-To: <4C984E90.60507@freebsd.org> References: <4C93236B.4050906@freebsd.org> <4C935F56.4030903@freebsd.org> <alpine.BSF.2.00.1009181221560.86826@fledge.watson.org> <alpine.BSF.2.00.1009181135430.23448@desktop> <4C95C804.1010701@freebsd.org> <alpine.BSF.2.00.1009182225050.23448@desktop> <4C95CCDA.7010007@freebsd.org> <4C984E90.60507@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 21 Sep 2010, Andriy Gapon wrote: > on 19/09/2010 11:42 Andriy Gapon said the following: >> on 19/09/2010 11:27 Jeff Roberson said the following: >>> I don't like this because even with very large buffers you can still have high >>> enough turnover to require per-cpu caching. Kip specifically added UMA support >>> to address this issue in zfs. If you have allocations which don't require >>> per-cpu caching and are very large why even use UMA? >> >> Good point. >> Right now I am running with 4 items/bucket limit for items larger than 32KB. > > But I also have two counter-points actually :) > 1. Uniformity. E.g. you can handle all ZFS I/O buffers via the same mechanism > regardless of buffer size. > 2. (Open)Solaris does that for a while and it seems to suit them well. Not > saying that they are perfect, or the best, or an example to follow, but still > that means quite a bit (for me). I'm afraid there is not enough context here for me to know what 'the same mechanism' is or what solaris does. Can you elaborate? I prefer not to take the weight of specific examples too heavily when considering the allocator as it must handle many cases and many types of systems. I believe there are cases where you want large allocations to be handled by per-cpu caches, regardless of whether ZFS is one such case. If ZFS does not need them, then it should simply allocate directly from the VM. However, I don't want to introduce some maximum constraint unless it can be shown that adequate behavior is not generated from some more adaptable algorithm. Thanks, Jeff > > -- > Andriy Gapon >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1009202037260.23448>