vm_lowmem event handler for dirhash

David G Lawrence dg at dglawrence.com
Wed May 27 11:45:54 UTC 2009

> 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.


David G. Lawrence
Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500
Pave the road of life with opportunities.

More information about the freebsd-current mailing list