DragonFly kernel List (threaded) for 2011-01
Re: Recent HAMMER SMP performance work
Awesome, I noticed you used a RB tree instead of a list, that should
give consistent O time.
Great work, Thanks Matt.
On 12 January 2011 09:56, Matthew Dillon <firstname.lastname@example.org> wrote:
> A bunch of recent work has been committed which improves HAMMER's
> SMP cached read() performance and its writing/flushing disk
> performance. Blogbench performance is just about doubled, with
> concurrent reading and writing in stage 1 operating at nearly full
> * Previously when the buffer cache is unavailable HAMMER was getting
> its per-mount lock before calling getblk() which is capable of
> reconstituting a buffer from the VM page cache.
> This was changed to not acquire the per-mount lock, drastically
> improving concurrent cached read performance for data sets which
> exceed the size of the buffer cache but still fit in the VM page
> For example, my x86-64 test box has 8G of ram but the buffer cache
> only maintains 1GB worth of buffers. This greatly improves concurrent
> read performance when operating from the nearly 8G worth of VM page
> cache past the 1GB of buffer cache. So it is a fairly big deal.
> * HAMMER accumulates enough dirty buffers, sometimes 100MB+ worth,
> that just reeling them out to the disk drive unsorted is non-optimal
> for the drive. HAMMER now sorts the buffers which improves flush
> * And, finally, when operating on a large number of dirty files HAMMER
> was not breaking the files into neat sets in the flush groups. This
> has been addressed and results in inodes being freed up at a more
> consistent rate, reducing stalls when doing tar extractions, cpdup,
> The inode reclamation pipeline has also been revisited and tuned up.
> Matthew Dillon
eocallaghan at auroraux dot org
() ascii ribbon campaign - against html e-mail
/\ - against microsoft attachments