Date: Wed, 27 May 2009 04:45:53 -0700 From: David G Lawrence <dg@dglawrence.com> To: Nick Barkas <snb@freebsd.org> Cc: Roman Divacky <rdivacky@freebsd.org>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Re: vm_lowmem event handler for dirhash Message-ID: <20090527114553.GB25063@tnn.dglawrence.com> In-Reply-To: <20090527113351.GA61692@ebi.local> References: <20090527103648.GA61454@ebi.local> <20090527111238.GA2000@freebsd.org> <20090527113351.GA61692@ebi.local>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Wed, May 27, 2009 at 01:12:38PM +0200, Roman Divacky wrote: > > On Wed, May 27, 2009 at 12:36:49PM +0200, Nick Barkas wrote: > > > Some time during the next week or so, I plan on committing the attached > > > patch. It adds a vm_lowmem event handler to the dirhash code in UFS2 so > > > that dirhashes will be deleted when the system is low on memory. This > > > allows one to increase the maximum amount of memory available for > > > dirhash on machines that have memory to spare (via the > > > vfs.ufs.dirhash_maxmem sysctl), and hopefully just improving behaviour > > > in low memory situations. I worked on this last year for the summer of > > > code with David Malone as my mentor. > > > > cool! do you have any performance numbers? graphs? :) what value do you recommend > > for the dirhash_maxmem sysctl? > > Oh yes, I have many graphs: http://wiki.freebsd.org/DirhashDynamicMemory > When I ran those tests a few months ago, I used 64MB for dirhash_maxmem > on a system with 1GB of memory. I have not tried other amounts of memory > besides that, at least that I can recall, so please let me know what you > find if you experiment with other values. Performance improvements and > sometimes degradations changed depending on the type of work load, and > the results on 7.x were also sometimes quite different from -current. > I feel that the tests I did were pretty artificial though, so it would > be great to hear about any results found with more realistic testing. I'm wondering if you have a low limit on how far you will reduce the dirhash. In a system that is thrashing a bit (due to a large process, for example), I can imagine multiple (10+) calls to the lowmem handler in rapid succession that would completely deplete the dirhash. Seems like this would result in even worse thrashing as more disk I/O occurs due to lack of dirhash. -DG David G. Lawrence President Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500 Pave the road of life with opportunities.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090527114553.GB25063>