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 <dillon@apollo.backplane.com> wrote:
> ꀠ孭 bunch of recent work has been committed which improves HAMMER's
> ꀠ嚒MP cached read() performance and its writing/flushing disk
> ꀠ漤erformance. 脷logbench performance is just about doubled, with
> ꀠ氲oncurrent reading and writing in stage 1 operating at nearly full
> ꀠ澵peed.
>
> ꀠꀪ Previously when the buffer cache is unavailable HAMMER was getting
> ꀠꀠ湶ts per-mount lock before calling getblk() which is capable of
> ꀠꀠ澑econstituting a buffer from the VM page cache.
>
> ꀠꀠ糍his was changed to not acquire the per-mount lock, drastically
> ꀠꀠ湶mproving concurrent cached read performance for data sets which
> ꀠꀠ汢xceed the size of the buffer cache but still fit in the VM page
> ꀠꀠ氲ache.
>
> ꀠꀠ啫or example, my x86-64 test box has 8G of ram but the buffer cache
> ꀠꀠ漑nly maintains 1GB worth of buffers. 糍his greatly improves concurrent
> ꀠꀠ澑ead performance when operating from the nearly 8G worth of VM page
> ꀠꀠ氲ache past the 1GB of buffer cache. 嚒o it is a fairly big deal.
>
> ꀠꀪ HAMMER accumulates enough dirty buffers, sometimes 100MB+ worth,
> ꀠꀠ濳hat just reeling them out to the disk drive unsorted is non-optimal
> ꀠꀠ沲or the drive. 㗎AMMER now sorts the buffers which improves flush
> ꀠꀠ漤erformance.
>
> ꀠꀪ And, finally, when operating on a large number of dirty files HAMMER
> ꀠꀠ烀as not breaking the files into neat sets in the flush groups. 糍his
> ꀠꀠ温as been addressed and results in inodes being freed up at a more
> ꀠꀠ氲onsistent rate, reducing stalls when doing tar extractions, cpdup,
> ꀠꀠ汢tc.
>
> ꀠꀠ糍he inode reclamation pipeline has also been revisited and tuned up.
>
> ꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀭMatt
> ꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠ嗰atthew Dillon
> ꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀼdillon@backplane.com>
>
--
--
Edward O'Callaghan
http://www.auroraux.org/
eocallaghan at auroraux dot org
---
()ꀠascii ribbon campaign - against html e-mail
/\ꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠꀠ- against microsoft attachments