From: Jens Axboe <jens.axboe@oracle.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
hch@infradead.org
Subject: Re: merging the per-bdi writeback patchset
Date: Wed, 24 Jun 2009 12:04:14 +0200 [thread overview]
Message-ID: <20090624100414.GJ31415@kernel.dk> (raw)
In-Reply-To: <20090623080137.33cdc45c.akpm@linux-foundation.org>
On Tue, Jun 23 2009, Andrew Morton wrote:
> On Tue, 23 Jun 2009 10:55:05 +0200 Jens Axboe <jens.axboe@oracle.com> wrote:
>
> > On Tue, Jun 23 2009, Andrew Morton wrote:
> > > On Tue, 23 Jun 2009 10:11:56 +0200 Jens Axboe <jens.axboe@oracle.com> wrote:
> > >
> > > > Things are looking good for this patchset and it's been in -next for
> > > > almost a week without any reports of problems. So I'd like to merge it
> > > > for 2.6.31 if at all possible. Any objections?
> > >
> > > erk. I was rather expecting I'd have time to have a look at it all.
> >
> > OK, we can wait if we have to, just trying to avoid having to keep this
> > fresh for one full cycle. I have posted this patchset 11 times though
> > over months, so it's not like it's a new piece of work :-)
>
> Yeah, sorry.
>
> > > It's unclear to me actually _why_ the performance changes which were
> > > observed have actually occurred. In fact it's a bit unclear (to me)
> > > why the patchset was written and what it sets out to achieve :(
> >
> > It started out trying to get rid of the pdflush uneven writeout. If you
> > look at various pdflush intensive workloads, even on a single disk you
> > often have 5 or more pdflush threads working the same device. It's just
> > not optimal.
>
> That's a bug, isn't it? This
>
> /* Is another pdflush already flushing this queue? */
> if (current_is_pdflush() && !writeback_acquire(bdi))
> break;
>
> isn't working.
But that's on a per-inode basis. I didn't look further into the problem
to be honest, just noticed that you very quickly get a handful of
pdflush threads ticking along.
> > Another issue was starvation with request allocation. Given
> > that pdflush does non-blocking writes (it has to, by design), pdflush
> > can potentially be starved if someone else is working the device.
>
> hm, true. 100% starved, or just "slowed down"? The latter I trust -
> otherwise there are still failure modes?
Just slowed down, I'm suspecting this is where the lumpiness comes from
as well. At least in the cases I have seen, in theory you could starve
the pdflush thread indefinitely.
> > > A long time ago the XFS guys (Dave Chinner iirc) said that XFS needs
> > > more than one thread per device to keep the device saturated. Did that
> > > get addressed?
> >
> > It supports up to 32-threads per device, but Chinner et all have been
> > silent. So the support is there and there's a
> > super_operations->inode_get_wb() to map a dirty inode to a writeback
> > device. Nobody is doing that yet though.
>
> OK.
>
> How many kernel threads do the 1000-spindle people end up with?
If all 1000 spindles are exposed and flushing dirty data, you get 1000
threads. Realistically, you'll likely use some sort of dm/md frontend
though. And then you only get 1 thread per dm/md device.
--
Jens Axboe
next prev parent reply other threads:[~2009-06-24 10:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-23 8:11 merging the per-bdi writeback patchset Jens Axboe
2009-06-23 8:48 ` Andrew Morton
2009-06-23 8:55 ` Jens Axboe
2009-06-23 10:28 ` KOSAKI Motohiro
2009-06-23 10:56 ` Jens Axboe
2009-06-23 11:19 ` KOSAKI Motohiro
2009-06-23 11:28 ` Jens Axboe
2009-06-23 11:44 ` KOSAKI Motohiro
2009-06-23 15:01 ` Andrew Morton
2009-06-24 10:04 ` Jens Axboe [this message]
2009-06-23 11:09 ` Christoph Hellwig
2009-06-23 11:12 ` Jens Axboe
2009-06-23 11:17 ` Christoph Hellwig
2009-06-23 11:52 ` Jens Axboe
2009-06-23 12:20 ` Jens Axboe
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=20090624100414.GJ31415@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.