public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, Jens Axboe <axboe@suse.de>
Subject: Re: 2.6.12-rc2-mm3
Date: Tue, 12 Apr 2005 15:51:25 +1000	[thread overview]
Message-ID: <425B61DD.60700@yahoo.com.au> (raw)
In-Reply-To: <20050411220013.23416d5f.akpm@osdl.org>

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.




  reply	other threads:[~2005-04-12  5:55 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-11  8:25 2.6.12-rc2-mm3 Andrew Morton
2005-04-11  8:56 ` 2.6.12-rc2-mm3 J.A. Magallon
2005-04-11  9:43   ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-11 21:59     ` 2.6.12-rc2-mm3 Borislav Petkov
2005-04-11 22:22       ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-12  4:20         ` 2.6.12-rc2-mm3 Stas Sergeev
2005-04-12  4:27           ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-12 19:37             ` [patch 0/3] 2.6.12-rc2-mm3 Stas Sergeev
2005-04-12 19:42             ` [patch 1/3]: move config option for BAD_SYSCALL_EXIT Stas Sergeev
2005-04-12 19:47             ` [patch 2/3]: entry.S trap return fixes Stas Sergeev
2005-04-13  2:09               ` Andrew Morton
2005-04-13  3:18                 ` Stas Sergeev
2005-04-12 19:54             ` [patch 3/3]: fix BAD_SYSCALL_EXIT lockup Stas Sergeev
2005-04-12 12:22           ` 2.6.12-rc2-mm3 Borislav Petkov
2005-04-11 10:34 ` 2.6.12-rc2-mm3 Jan Dittmer
2005-04-11 17:33 ` 2.6.12-rc2-mm3 Benoit Boissinot
2005-04-11 19:11 ` 2.6.12-rc2-mm3 Jindrich Makovicka
2005-04-12  0:22   ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-12  8:21     ` 2.6.12-rc2-mm3 Jindrich Makovicka
2005-04-11 20:46 ` 2.6.12-rc2-mm3 Martin J. Bligh
2005-04-11 22:24   ` 2.6.12-rc2-mm3 Benoit Boissinot
2005-04-12 22:32     ` 2.6.12-rc2-mm3 Martin J. Bligh
2005-04-11 21:05 ` 2.6.12-rc2-mm3: CONFIG_MODULES=n MTD compile error Adrian Bunk
2005-04-12  1:18 ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-12  2:09   ` 2.6.12-rc2-mm3 Benjamin Herrenschmidt
2005-04-12  3:26   ` 2.6.12-rc2-mm3 Benjamin Herrenschmidt
2005-04-12  4:42     ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-12  6:34       ` 2.6.12-rc2-mm3 Benjamin Herrenschmidt
2005-04-12 18:08         ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-12 22:40           ` 2.6.12-rc2-mm3 Benjamin Herrenschmidt
2005-04-13  1:44             ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-15 18:23   ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-15 23:23     ` 2.6.12-rc2-mm3 Benjamin Herrenschmidt
2005-04-17  8:40       ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-24  0:01         ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-24  1:59           ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-24  2:15             ` 2.6.12-rc2-mm3 Benjamin Herrenschmidt
2005-04-24  3:14               ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-24  4:25               ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-24  9:53               ` 2.6.12-rc2-mm3 Oleg Nesterov
2005-04-24 23:11                 ` 2.6.12-rc2-mm3 Juergen Kreileder
2005-04-25  0:09                   ` 2.6.12-rc2-mm3 Benjamin Herrenschmidt
2005-05-03  6:29                 ` 2.6.12-rc2-mm3 Andrew Morton
2005-05-03 10:42                   ` 2.6.12-rc2-mm3 Oleg Nesterov
2005-04-12  5:00 ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-12  5:51   ` Nick Piggin [this message]
2005-04-12  6:19     ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-12  6:49       ` 2.6.12-rc2-mm3 Nick Piggin
2005-04-12  7:50         ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-12 19:03           ` 2.6.12-rc2-mm3 Steven Pratt
2005-04-12 17:01       ` 2.6.12-rc2-mm3 Steven Pratt
2005-04-12  7:06   ` 2.6.12-rc2-mm3 Jens Axboe
2005-04-12 11:32 ` 2.6.12-rc2-mm3 Ed Tomlinson
2005-04-12 11:39   ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-14  0:15     ` 2.6.12-rc2-mm3 Ed Tomlinson
2005-04-14  0:20       ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-14  0:38         ` 2.6.12-rc2-mm3 Ed Tomlinson
2005-04-14  0:54           ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-17 21:32 ` [-mm patch] fix "make mandocs" Adrian Bunk
2005-04-17 22:27 ` 2.6.12-rc2-mm3 Alexander Nyberg
2005-04-17 22:36 ` 2.6.12-rc2-mm3 Alexander Nyberg
2005-04-19  2:03 ` 2.6.12-rc2-mm3: hostap: do not #include .c files Adrian Bunk
2005-04-19  2:12   ` Jouni Malinen
2005-04-26  0:49 ` 2.6.12-rc2-mm3 Randy.Dunlap
2005-04-26  1:06   ` 2.6.12-rc2-mm3 Andrew Morton
2005-04-26  3:17   ` 2.6.12-rc2-mm3 Greg KH
2005-04-26 16:15     ` 2.6.12-rc2-mm3 Randy.Dunlap
2005-04-27 10:41 ` 2.6.12-rc2-mm3 Alexander Nyberg
  -- strict thread matches above, loose matches on Subject: below --
2005-04-13 18:36 2.6.12-rc2-mm3 Stas Sergeev
2005-04-13 20:04 ` 2.6.12-rc2-mm3 Ingo Molnar
2005-04-14 16:38   ` 2.6.12-rc2-mm3 Stas Sergeev
2005-04-17 23:39 2.6.12-rc2-mm3 Mikael Pettersson
2005-04-18  9:56 ` 2.6.12-rc2-mm3 Alexander Nyberg
2005-04-18 11:05 ` 2.6.12-rc2-mm3 Alexander Nyberg
2005-04-18 11:14   ` 2.6.12-rc2-mm3 Arjan van de Ven
2005-04-18 14:10     ` 2.6.12-rc2-mm3 Alexander Nyberg
2005-04-18 22:27 2.6.12-rc2-mm3 Mikael Pettersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=425B61DD.60700@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@osdl.org \
    --cc=axboe@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox