kernel work week of 3-Feb-2010 HEADS UP

Matthew Dillon dillon at apollo.backplane.com
Sun Feb 7 11:32:26 PST 2010


    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
    readbacks.

    foreach i ( dfly-gui-2.1.1_REL.iso msdos_usbkey.img test )
	dd if=$i of=/dev/null bs=32k
    end

    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).

						-Matt






More information about the Kernel mailing list