HAMMER changes in HEAD, also needs testing
Thomas Nikolajsen
thomas.nikolajsen at mail.dk
Sat Jun 27 16:10:08 PDT 2009
> I´ve made some fairly straightforward changes to HAMMER in HEAD, but
> they need testing.
I´ve done some performance tests on a HEAD system from a few days before the change, and just after.
A ~100GB tar file was extracted to a local HAMMER file system, and a cpdup copy of the files was made,
result was traversed with find.
After updating system, to include HAMMER & cpdup changes of June 20th, same thing was done again.
Unpacking and cpdup´ing was slower after updating, but find was faster.
Also after updating traversing cpdup copies was faster for copies made before update.
This wasn´t what I expected from the description of the changes, any comments?
During tar file extraction after updating system, I noticed, looking at 'hammer iostats 10',
that inode-ops, file-rd & file-wr stalled for long periods of time, like 1-2 minutes;
dev-read & dev-write was still high; after stall inode-ops would rocket up, but only for half a minute,
then a new stall started. During stall, it seemed all file system operations was also stalled,
including processes that I only can imagine was using NFS (but this can't be true I guess).
Test system is atom 330 (dual core 1,6GHz), physmem=512MB
running SMP on local SATA disk using nata(4) (no ahci(4) support for onboard disk controller).
(system does have 2GB RAM, physmem limited to get smaller core dumps;
on other tests I´ve done, this didn´t seemed to make any difference)
Tar file used contains contains many smaller files (cvs repos for most BSDs & some checkouts for each),
and a good number of big files (e.g. ISOs & pictures).
I could make some more tests, but would like to use a smaller test set;
for now 100GB is too time consuming on my HW.
Any recommendations on test set size vs physmem size.
I could also test on ahci(4) or sili(4) (on other host).
-thomas
- HEAD system from a few days before June 20th
root at bohr# df .
Filesystem 1K-blocks Used Avail Capacity Mounted on
HAMMER 854704128 130220032 724484096 15% /hammer
root at bohr# cd /hammer/test/pre
root at bohr# time tar xf /hammer/data/hammer.tar
15996.71 real 207.43 user 1768.43 sys
root at bohr# cd ..
root at bohr# time cpdup pre pre.cpdup
43937.88 real 206.70 user 4339.66 sys
root at bohr# df .
Filesystem 1K-blocks Used Avail Capacity Mounted on
HAMMER 854704128 344834048 509870080 40% /hammer
root at bohr# time find pre | gzip >pre.find.gz
847.99 real 19.55 user 185.58 sys
root at bohr# time find pre -ls | gzip >pre.find.-ls.gz
1171.63 real 88.60 user 501.59 sys
- HEAD system from June 20th, including HAMMER changes
root at bohr# cd /hammer/test/post
root at bohr# time tar xf /hammer/data/hammer.tar
21740.77 real 203.77 user 1752.30 sys
root at bohr# df .
Filesystem 1K-blocks Used Avail Capacity Mounted on
HAMMER 854704128 457375744 397328384 54% /hammer
root at bohr# cd ..
root at bohr# time cpdup post post.cpdup
72476.51 real 204.83 user 4041.41 sys
root at bohr# df .
Filesystem 1K-blocks Used Avail Capacity Mounted on
HAMMER 854704128 564363264 290340864 66% /hammer
root at bohr# time find post | gzip >post.find.gz
488.17 real 13.37 user 126.37 sys
root at bohr# time find post -ls | gzip >post.find.-ls.gz
854.08 real 65.07 user 397.89 sys
root at bohr# time find pre.cpdup | gzip >pre.cpdup.post.find..gz
362.19 real 14.24 user 124.45 sys
root at bohr# time find pre.cpdup -ls | gzip >pre.cpdup.post.find.-ls.gz
619.08 real 65.47 user 314.53 sys
root at bohr# time find post.cpdup | gzip >post.cpdup.post.find..gz
450.81 real 14.18 user 134.78 sys
root at bohr# time find post.cpdup -ls | gzip >post.cpdup.post.find.-ls.gz
813.99 real 68.53 user 408.46 sys
More information about the Kernel
mailing list