From: Andrea Arcangeli <andrea@suse.de>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Chris Mason <mason@suse.com>, Jens Axboe <axboe@suse.de>,
Marcelo Tosatti <marcelo@conectiva.com.br>,
lkml <linux-kernel@vger.kernel.org>,
"Stephen C. Tweedie" <sct@redhat.com>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Andrew Morton <akpm@digeo.com>,
Alexander Viro <viro@math.psu.edu>
Subject: Re: RFC on io-stalls patch
Date: Sun, 13 Jul 2003 21:33:34 +0200 [thread overview]
Message-ID: <20030713193334.GK16313@dualathlon.random> (raw)
In-Reply-To: <3F118CC6.9080906@pobox.com>
On Sun, Jul 13, 2003 at 12:45:58PM -0400, Jeff Garzik wrote:
> Chris Mason wrote:
> >Well, I'd say it's a more common problem to have lots of writes, but it
> >is pretty easy to fill the queue with reads.
>
> Well....
>
> * you will usually have more reads than writes
> * reads are more dependent than writes, on the whole
> * writes are larger due to delays and merging
>
> All this is obviously workload dependent, but it seems like the 60%
> common case, at least...
sync-reads may be as much as 99%. I'm not overlooking sync-reads, I'm
saying sync-writes are important too, and this design is meant to fix
sync-reads as well as sync-writes.
> Basically when I hear people talking about lots of writes, that seems to
> be downplaying the fact that seeing 20 writes and 2 reads on a queue
> does not take into account the userspace applications currently
> blocking, waiting to do another read.
this is not overlooked. The point is that those 2 reads tends to wait
for at least batch_sectors anyways, so it doesn't matter if they wait
for those batch_sectors inside the I/O queue, or in wait_for_request. I
mean, I don't see why being able to wait only in the I/O queue could
make a relevant latency improvement (of course it will save a schedule
but who cares about a schedule on such a sync-workload?)
What you've to care about is that this "read-sync" is the very next one
to get the I/O in wait_for_request, not the write. and this is fixed
now.
in the past (even in 2.4.21) the wait_for_request was broken, so hitting
that path would risk to hang reads forever (there was no ->full control
etc..). Now it's not the case anymore. if the read is still stalled
forever it means wait_for_request needs more fixes than what's already
in mainline in 22pre5.
In the past with broken wait_for_request things were completely
different so using old benchmarks as an argument doesn't sound
completely correct to me. More interesting would be the theories about
why those past benchmarks shown the relevant improvements (latency?
throughput?), so we can see if those theories still applies to the new
lowlatency-elevator fixed code in mainline.
Andrea
next prev parent reply other threads:[~2003-07-13 19:19 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-08 20:06 Marcelo Tosatti
2003-07-10 13:57 ` Jens Axboe
2003-07-11 14:13 ` Chris Mason
2003-07-12 0:20 ` Nick Piggin
2003-07-12 18:37 ` Chris Mason
2003-07-12 7:37 ` Jens Axboe
2003-07-12 7:48 ` Jens Axboe
2003-07-12 18:32 ` Chris Mason
2003-07-13 0:33 ` Andrea Arcangeli
2003-07-13 9:01 ` Jens Axboe
2003-07-13 16:20 ` Chris Mason
2003-07-13 16:45 ` Jeff Garzik
2003-07-13 19:33 ` Andrea Arcangeli [this message]
2003-07-13 17:47 ` Jens Axboe
2003-07-13 19:35 ` Andrea Arcangeli
2003-07-14 0:36 ` Chris Mason
2003-07-13 19:19 ` Andrea Arcangeli
2003-07-14 5:49 ` Jens Axboe
2003-07-14 12:23 ` Marcelo Tosatti
2003-07-14 13:12 ` Jens Axboe
2003-07-14 19:51 ` Jens Axboe
2003-07-14 20:09 ` Chris Mason
2003-07-14 20:19 ` Andrea Arcangeli
2003-07-14 21:24 ` Chris Mason
2003-07-15 5:46 ` Jens Axboe
2003-07-14 20:09 ` Marcelo Tosatti
2003-07-14 20:24 ` Andrea Arcangeli
2003-07-14 20:34 ` Chris Mason
2003-07-15 5:35 ` Jens Axboe
[not found] ` <20030714224528.GU16313@dualathlon.random>
2003-07-15 5:40 ` Jens Axboe
[not found] ` <1058229360.13317.364.camel@tiny.suse.com>
2003-07-15 5:43 ` Jens Axboe
[not found] ` <20030714175238.3eaddd9a.akpm@osdl.org>
[not found] ` <20030715020706.GC16313@dualathlon.random>
2003-07-15 5:45 ` Jens Axboe
2003-07-15 6:01 ` Andrea Arcangeli
2003-07-15 6:08 ` Jens Axboe
2003-07-15 7:03 ` Andrea Arcangeli
2003-07-15 8:28 ` Jens Axboe
2003-07-15 9:12 ` Chris Mason
2003-07-15 9:17 ` Jens Axboe
2003-07-15 9:18 ` Jens Axboe
2003-07-15 9:30 ` Chris Mason
2003-07-15 10:03 ` Andrea Arcangeli
2003-07-15 10:11 ` Jens Axboe
2003-07-15 14:18 ` Chris Mason
2003-07-15 14:29 ` Jens Axboe
2003-07-16 17:06 ` Chris Mason
2003-07-15 9:22 ` Chris Mason
2003-07-15 9:59 ` Andrea Arcangeli
2003-07-15 9:48 ` Andrea Arcangeli
2003-07-14 20:16 ` Andrea Arcangeli
2003-07-14 20:17 ` Marcelo Tosatti
2003-07-14 20:27 ` Andrea Arcangeli
2003-07-15 5:26 ` Jens Axboe
2003-07-15 5:48 ` Andrea Arcangeli
2003-07-15 6:01 ` Jens Axboe
2003-07-15 6:33 ` Andrea Arcangeli
2003-07-15 11:22 ` Alan Cox
2003-07-15 11:27 ` Jens Axboe
2003-07-16 12:43 ` Andrea Arcangeli
2003-07-16 12:46 ` Jens Axboe
2003-07-16 12:59 ` Andrea Arcangeli
2003-07-16 13:04 ` Jens Axboe
2003-07-16 13:11 ` Andrea Arcangeli
2003-07-16 13:21 ` Jens Axboe
2003-07-16 13:44 ` Andrea Arcangeli
2003-07-16 14:00 ` Jens Axboe
2003-07-16 14:24 ` Andrea Arcangeli
2003-07-16 16:49 ` Andrew Morton
2003-07-15 18:47 Shane Shrybman
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=20030713193334.GK16313@dualathlon.random \
--to=andrea@suse.de \
--cc=akpm@digeo.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=axboe@suse.de \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=marcelo@conectiva.com.br \
--cc=mason@suse.com \
--cc=sct@redhat.com \
--cc=viro@math.psu.edu \
/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
all inboxes | Powered by JetHome®