Date: Sun, 14 Jun 2009 16:00:41 +0100 From: Kris Kennaway <kris@FreeBSD.org> To: Attilio Rao <attilio@freebsd.org> Cc: freebsd-smp@freebsd.org, freebsd-arch@freebsd.org Subject: Re: [PATCH] Adaptive spinning for lockmgr Message-ID: <4A351099.3020407@FreeBSD.org> In-Reply-To: <3bbf2fe10906140723y2a99eb8an3488796ac6604134@mail.gmail.com> References: <3bbf2fe10906081342i6ef418e0n75e22d0b9e2543b3@mail.gmail.com> <4A34F4B7.5050904@FreeBSD.org> <3bbf2fe10906140723y2a99eb8an3488796ac6604134@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Attilio Rao wrote: > 2009/6/14 Kris Kennaway <kris@freebsd.org>: >> Attilio Rao wrote: >>> This patch enables adaptive spinning for lockmgr: >>> http://www.freebsd.org/~attilio/adaptive_lockmgr.diff >>> >>> and it should presumably improve performance on disks/vfs/buffer cache >>> based benchmarks, so, if you want to try out and report any benchmarks >>> result, I'd love to see it. >>> Please note that there are some parameters to tune: for example, you >>> would like to not enable adaptive spinning to default while you just >>> want that for a class of locks (and in that case you want to apply the >>> reversed logic for what is living now) or you want to use different >>> values for retries and loops. Interested developers can refer to such >>> 3 variables. >>> Peter Holm alredy tested that patch for about 24hours without any >>> regression to report. >>> >>> Also note that the patch is not 100% yet as long as it needs UPDATES >>> and manpages updates, but they will be added just in time before to >>> commit. >>> The modify is all there. >> I have a vague memory that we had tested a version of this in the past and >> found that it caused a performance loss in common cases? Many lockmgr >> callers are not amenable to adaptive spinning because they have to wait on >> slow I/O. Testing only with e.g. md backing might give results that are >> non-representative. > > I don't think I ever implemented adaptive spinning in lockmgr so if > somebody else did I don't know. Said that, probabilly the best > approach would be to disable it by default ad use a LK_ADAPTIVESPIN > flag on a per instance basis. > Such conditions, though, need to be explored a bit and I have no time > to dedicate to this right now. OK, I am mis-remembering then. Ideally it would be tested in several representative workloads to see where it helps. I can't promise whether I can do this though, for the same reason as you :( Kris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A351099.3020407>