[Btrfs-devel] I/O idleness during postmark

Chris Mason chris.mason at oracle.com
Fri Feb 15 06:57:46 PST 2008


On Friday 15 February 2008, Dongjun Shin wrote:
> Hello,
>
> When I'm running postmark on btrfs v0.12, although the system
> must be busy doing the I/O, there are some cases where the I/O is idle
> while btrfs workqueue eats up most of the CPU time.
>
> It seems that this happens for both 2.6.23 and 2.6.24 kernel.
>
> Any idea?
>

It is probably the defrag process or snapshot deletion holding the FS wide 
mutex and excluding other writeback.  This big mutex is really sub-optimal, 
and it shows up on a number of benchmarks.  (sysrq-p might catch it)

Once the multiple device code is ready, fine grained locking is my top 
priority.

For runs like postmark, a smaller blocksize (mkfs.btrfs -l 4096 -n 4096) will 
lower the amount of work that needs to be done during snapshot deletion.  
Random IOs cause more btree churn on the larger blocksizes.

You could also try the patch below to disable defrag in ssd mode.

-chris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: no-defrag
Type: text/x-diff
Size: 363 bytes
Desc: not available
Url : http://oss.oracle.com/pipermail/btrfs-devel/attachments/20080215/fdc9c581/no-defrag.bin


More information about the Btrfs-devel mailing list