Date: Sat, 28 Aug 2010 11:26:02 +0200 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: jhell <jhell@DataIX.net> Cc: Martin Matuska <mm@freebsd.org>, freebsd-current@freebsd.org, Andriy Gapon <avg@icyb.net.ua>, Artem Belevich <fbsdlist@src.cx> Subject: Re: [CFT] Improved ZFS metaslab code (faster write speed) Message-ID: <20100828092602.GG2077@garage.freebsd.pl> In-Reply-To: <4C78D0EE.6040708@DataIX.net> References: <4C713EF5.8080402@FreeBSD.org> <AANLkTi=8x1EenWyqGz6AQWKDUq5JiMJbX_jbVbX43DKx@mail.gmail.com> <4C714FC0.90005@FreeBSD.org> <AANLkTim_BH4WrQUY-X491c%2BfLaP2FKMcS1k-DN5tLG-9@mail.gmail.com> <20100828081917.ee931f7f.nork@FreeBSD.org> <AANLkTi=hbL3wfTvmfBhPkpJ7orh_WuhagGPoXaS_hcTW@mail.gmail.com> <4C78655C.3010200@DataIX.net> <4C78C6C3.1010005@icyb.net.ua> <4C78D0EE.6040708@DataIX.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--9Iq5ULCa7nGtWwZS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Aug 28, 2010 at 05:03:42AM -0400, jhell wrote: > On 08/28/2010 04:20, Andriy Gapon wrote: > > on 28/08/2010 04:24 jhell said the following: > >> The modified patch from avg@ (portion patch) is: > >> > >> #ifdef _KERNEL > >> if (arc_reclaim_needed()) { > >> needfree =3D 0; > >> wakeup(&needfree); > >> } > >> #endif > >> > >> I still moved that down to below _KERNEL for the obvious reasons. But > >> when I was using the original patch with if (needfree) I noticed a > >> performance degradation after ~12 hours of use with and without UMA > >> turned on. So far with ~48 hours of testing with the top half of that > >> being with the above change, I have not seen more degradation of > >=20 > > This is quite unexpected. > > needfree should be checked as the very first thing in arc_reclaim_neede= d() > > [unless you have patched it locally]. So if needfree is 1 then > > arc_reclaim_needed() should also return 1. But the converse is not tru= e, > > arc_reclaim_needed() may return 1 even if needfree is zero. > >=20 > > So if your testing results are conclusive then it must mean that some e= xtra > > wakeups on needfree are needed. I.e. needfree is zero, so there should= n't be > > anything waiting on it (see arc_lowmem) and no notification should be n= eeded, > > but issuing somehow does make difference, > > Hmm... > >=20 >=20 > I will look further into this and see if I can throw a counter around it > or some printf's so I can at least log what its doing in both instances. >=20 > I thought the very same thing you said above when I saw your patch for > that and was astounded at the results that were returned from it. So in > short testing I reverted it back quickly to see if that was the cause of > the problem and sure enough everything resumed to the way it was before. >=20 > Anyway thanks for the reply. I will get back to you if I see anything > cool arise from this. Could you include the following patch to your testing: http://people.freebsd.org/~pjd/patches/arc.c.9.patch --=20 Pawel Jakub Dawidek http://www.wheelsystems.com pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --9Iq5ULCa7nGtWwZS Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAkx41ioACgkQForvXbEpPzRrUACg9sVloPTUnapi2fJGssoVg0VU Th0An0B3wVgQh+UYIs4WTmsRe0LoPU+P =TQVw -----END PGP SIGNATURE----- --9Iq5ULCa7nGtWwZS--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100828092602.GG2077>