vm_lowmem event handler for dirhash

Nick Barkas snb at freebsd.org
Wed May 27 11:33:53 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.


More information about the freebsd-current mailing list