From: Chris Mason <mason@suse.com>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
lkml <linux-kernel@vger.kernel.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Nick Piggin <piggin@cyberone.com.au>
Subject: Re: Status of the IO scheduler fixes for 2.4
Date: 04 Jul 2003 20:47:00 -0400 [thread overview]
Message-ID: <1057366019.20899.1300.camel@tiny.suse.com> (raw)
In-Reply-To: <20030705000544.GC23578@dualathlon.random>
On Fri, 2003-07-04 at 20:05, Andrea Arcangeli wrote:
> On Fri, Jul 04, 2003 at 05:37:35PM -0400, Chris Mason wrote:
> > I've also attached a patch I've been working on to solve the latencies a
> > different way. bdflush-progress.diff changes balance_dirty to wait on
> > bdflush instead of trying to start io. It helps a lot here (both
> > throughput and latency) but hasn't yet been tested on a box with tons of
> > drives.
>
> that's orthogonal, it changes the write throttling, it doesn't touch the
> blkdev layer like the other patches does. So if it helps it solves a
> different kind of latencies.
It's also almost useless without elevator-low-latency applied ;-) One
major source of our latencies is a bunch of procs hammering on
__get_request_wait, so bdflush-progess helps by reducing the number of
procs doing io. It does push some of the latency problem up higher into
balance_dirty, but I believe it is easier to manage there.
bdflush-progress doesn't help at all for non-async workloads.
> However the implementation in theory can run the box oom, since it won't
> limit the dirty buffers anymore. To be safe you need to wait 2
> generations. I doubt in practice it would be easily reproducible though ;).
Hmmm, I think the critical part here is to write some buffers after
marking a buffer dirty. We don't check the generation number until
after marking the buffer dirty, so if the generation has incremented at
all we've made progress. What am I missing?
-chris
next prev parent reply other threads:[~2003-07-05 0:33 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-02 22:26 Status of the IO scheduler fixes for 2.4 Marcelo Tosatti
2003-07-02 22:28 ` Marcelo Tosatti
2003-07-03 2:02 ` Chris Mason
2003-07-03 10:58 ` Stephan von Krawczynski
2003-07-03 12:01 ` Chris Mason
2003-07-03 12:07 ` Marc-Christian Petersen
2003-07-03 12:28 ` Stephan von Krawczynski
2003-07-03 12:31 ` Marc-Christian Petersen
2003-07-03 13:11 ` Chris Mason
2003-07-04 20:01 ` Marcelo Tosatti
2003-07-04 21:37 ` Chris Mason
2003-07-05 0:05 ` Andrea Arcangeli
2003-07-05 0:47 ` Chris Mason [this message]
2003-07-05 1:04 ` Andrea Arcangeli
2003-07-06 7:58 ` Marc-Christian Petersen
2003-07-06 18:51 ` Chris Mason
2003-07-07 4:06 ` Nick Piggin
2003-07-05 0:00 ` Andrea Arcangeli
2003-07-05 15:59 ` Marcelo Tosatti
2003-07-05 16:36 ` Andrea Arcangeli
2003-07-03 18:07 ` Chris Mason
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=1057366019.20899.1300.camel@tiny.suse.com \
--to=mason@suse.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=marcelo@conectiva.com.br \
--cc=piggin@cyberone.com.au \
/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