Re: [PATCH 0/6] writeback time order/delay fixes take 3

Chris Mason
2007-08-22T00:24:21Z

On Sun, 12 Aug 2007 17:11:20 +0800
Fengguang Wu <wfg@mail.ustc.edu.cn> wrote:

> Andrew and Ken,
>
> Here are some more experiments on the writeback stuff.
> Comments are highly welcome~

I've been doing benchmarks lately to try and trigger fragmentation, and
one of them is a simulation of make -j N. It takes a list of all
the .o files in the kernel tree, randomly sorts them and then
creates bogus files with the same names and sizes in clean kernel trees.

This is basically creating a whole bunch of files in random order in a
whole bunch of subdirectories.

The results aren't pretty:

http://oss.oracle.com/~mason/compilebench/makej/compare-compile-dirs-0.png

The top graph shows one dot for each write over time. It shows that
ext3 is basically writing all over the place the whole time. But, ext3
actually wins the read phase, so the layout isn't horrible. My guess
is that if we introduce some write clustering by sending a group of
inodes down at the same time, it'll go much much better.

Andrew has mentioned bringing a few radix trees into the writeback paths
before, it seems like file servers and other general uses will benefit
from better clustering here.

I'm hoping to talk you into trying it out ;)

-chris