DragonFly kernel List (threaded) for 2010-02
Re: kernel work week of 3-Feb-2010 HEADS UP
I'll be able to commit the swapcache write clustering code later
today. This code collects 4K pages into larger 64K clusters and also
tends to assign linear swap space when multiple clusters
are being pushed, as well as roughly match a multiple of the buffer
cache blocksize. This gives the SSD the ability to optimally
write-combine and optimally handle erasures and reduces occurrences
of fragmented reads.
So far preliminary tests show a fairly serious improvement in SSD
performance. With this Intel 40G SSD I am getting 180-200 MB/sec
foreach i ( dfly-gui-2.1.1_REL.iso msdos_usbkey.img test )
dd if=$i of=/dev/null bs=32k
1270548480 bytes transferred in 6.737439 secs (188580334 bytes/sec)
2008023040 bytes transferred in 10.722041 secs (187279923 bytes/sec)
3302752256 bytes transferred in 14.657742 secs (225324764 bytes/sec)
I ran leaf.dragonflybsd.org with swapcache meta-data caching
enabled overnight. Operational characteristics were very good.
It bursted most of the meta-data in the first few hours and the
write rate then went to almost zero after that.
I have just now turned on data caching on leaf too, so both meta-data
and data will now be swap-cached so see how that works out. I have
reduced the accrate to 100K/s to see how it effects the bursting over
the day. Ultimately we want the swapcache to be effective with a
long-term average write rate in the 100K/s range for MLC drives.
100K/sec = 8G/day = 5-10 year life span for a $100 SSD which
massively improves storage performance. Win.
(Leaf is not running the write clustering code yet however).