看板 DFBSD_kernel 關於我們 聯絡資訊
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