Re: 2.6.12-rc2-mm3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Morton wrote:


So it turns out that patch was broken.  I've fixed it locally and the
results are good, but odd.

The machine is a 4GB x86_64 with aic79xx controllers and MAXTOR
ATLAS10K4_73WLS disks.  ext2 filesystem.

The workload is continuous pagecache writeback versus
read-lots-of-little-files:

	while true
	do
		dd if=/dev/zero of=/mnt/sdb2/x bs=40M count=100 conv=notrunc
	done

versus

	find /mnt/sdb2/linux-2.4.25 -type f | xargs cat > /dev/null

we measure how long the find+cat takes.

2.6.12-rc2, 	as,	tcq depth=2:		7.241 seconds
2.6.12-rc2, 	as,	tcq depth=64:		12.172 seconds
2.6.12-rc2+patch,as,	tcq depth=64:		7.199 seconds
2.6.12-rc2, 	cfq2,	tcq depth=64:		much more than 5 minutes
2.6.12-rc2, 	cfq3,	tcq depth=64:		much more than 5 minutes

So

- The effects of tcq on AS are much less disastrous than I thought they
 were.  Do I have the wrong workload?  Memory fails me.  Or did we fix the
 anticipatory scheduler?



Yes, we did fix it ;)
Quite a long time ago, so maybe you are thinking of something else
(I haven't been able to work it out).

AS basically does its own TCQ strangulation, which IIRC involves things
like completing all reads before issuing new writes, and completing all
reads from one process before reads from another. As well as the
fundamental way that waiting for a 'dependant read' throttles TCQ.

- as-limit-queue-depth.patch fixes things right up anyway.  Seems to be
doing the right thing.


Well it depends on what we want to do. If we hard limit the AS queue
like this, I can remove some of that TCQ throttling logic from AS.

OTOH, the throttling was intended to allow us to sanely use a large
TCQ depth without getting really bad behaviour. Theoretically a process
can make use of TCQ if it is doing a lot of writing, or if it is not
determined to be doing dependant reads.



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux