Skip site navigation (1)Skip section navigation (2)
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>