HAMMER on a VINUM volume

Matthew Dillon dillon at apollo.backplane.com
Mon Jun 9 17:58:27 PDT 2008

:master# newfs_hammer -L datapool /dev/vinum/datapool
:Volume 0 DEVICE /dev/vinum/datapool size 143.11GB
:initialize freemap volume 0
:Initializing B-Tree blockmap
:Initializing Large-Data blockmap
:Initializing Small-Data blockmap
:1 volume total size 143.11GB
:boot-area-size:       64.00MB
:memory-log-size:       0.50GB
:undo-buffer-size:    152.00MB
:zone-limit:            4.00TB
:total-pre-allocated: 232.00MB
:master# dd if=/dev/zero of=./test02.dat count=100 bs=1024K
:100+0 records in
:100+0 records out
:104857600 bytes transferred in 3.143593 secs (33355971 bytes/sec)
:master# dd if=/dev/zero of=./test03.dat count=4096 bs=1024K
:4096+0 records in
:4096+0 records out
:4294967296 bytes transferred in 136.746060 secs (31408344 bytes/sec)

    Here's what I am getting on a 3ware SATA card.  I suspect the difference
    is that the 3ware driver has queued I/O whereas a basic IDE driver 
    does not (nor does the basic SATA driver unless you see it say it
    configured AHCI mode).  UFS will do 64K clustered writes while HAMMER
    currently is unable to do clustered writes.

    3ware device driver for 9000 series storage controllers, version:
    twa0: <3ware 9000 series Storage Controller> port 0xe800-0xe8ff mem 0xdd800000-0xddffffff,0xdefdfc00-0xdefdfcff irq 10 at device 8.0 on pci4
    twa0: WARNING: (0x04: 0x0042): Error during read of primary DCB: port=0, error=0x208
    twa0: 4 ports, Firmware FE9X, BIOS BE9X

    test12# dd if=/dev/zero of=test bs=1024k count=1024
    1024+0 records in
    1024+0 records out
    1073741824 bytes transferred in 12.377364 secs (86750445 bytes/sec)

:One thing I noticed is that in a after formatting with UFS we lose 10GB 
:that UFS reserves for its management, but I didn't noticed any loss in a 
:hammer partition. I like that!
:Yeah, yeah, I know this is a very basic check and there are a lot of 
:factors that have influence in these results, but I'm not an expert but 
:an user.
:Antonio Huete

    newfs_hammer tells you how much it pre-allocated:

	:total-pre-allocated: 232.00MB

    That is mostly for the blockmaps and the UNDO FIFO.  It allocated
    152MB for the UNDO FIFO, in fact.

    HAMMER does not pre-allocate inodes and has no concept of cylinder groups,
    so the inode overhead is not counted in the newfs.

    HAMMER has about ~200 bytes overhead per inode (including B-Tree element,
    inode data, and the directory entry).

					Matthew Dillon 
					<dillon at backplane.com>

More information about the Users mailing list