public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 3/3] xfs: flush the CIL via a workqueue
Date: Tue, 19 Jul 2011 13:05:51 +1000	[thread overview]
Message-ID: <20110719030551.GK30254@dastard> (raw)
In-Reply-To: <20110719020317.GC4259@infradead.org>

On Mon, Jul 18, 2011 at 10:03:17PM -0400, Christoph Hellwig wrote:
> Generally looks okay, but doing a context switch in every log force
> might bite us.  Less the general context switch overhead, but more
> the nasty interactions with cfq, which are causing huge problems
> for ext3/4,

Quite frankly, I don't recommend CFQ unless you need block level
throttling or use IO prioritisation seriously. CFQ is way too smart
for it's own good trying to do everything for everyone, and as such
suffers from different regressions every release.  It has weird
workload specific heuristics in it to try to address issues that
don't solve the general class of problem, and so is always being
patched to fix the next occurrence of the same problem.  e.g. the IO
stalls caused by dependent IOs being issued by different threads
that ext3/4 fsync hits all the time.

> with no good way to fix them for workqueues.

Right, which I pointed out to them last time round of ext4 specific
hacks that tried to tell the journal thread that it's IO had
external depenencies.

And let's face it - every time we move IO into a workqueue, we
introduce new cases of IO dependencies between threads. e.g.
anything waiting on a log force in progress is already dependent on
dispatch from a different thread, so the xfssyncd xfsaild and busy
extent log forces all will suffer to some extent from CFQ's existing
deficiencies in this regard. Moving the log IO into a workqueue
doesn't change this at all....

I'm of the opinion that anyone with a RAID controller with a BBWC
doesn't need the smarts in CFQ because the BBWC provides a much
larger and smarter IO re-order window than the Linux IO schedulers
and hence do a better job of IO scheduling than Linux can ever do.
We shouldn't penalise the target market for XFS for having fast
storage by catering to difficiencies of IO schedulers that are
mostly redundant for the hardware XFS typically runs on....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2011-07-19  3:05 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-18  3:49 [PATCH 0/3] xfs: convert more code to use workqueues Dave Chinner
2011-07-18  3:49 ` [PATCH 1/3] xfs: introduce an allocation workqueue Dave Chinner
2011-07-18 16:00   ` Christoph Hellwig
2011-07-19  1:24     ` Dave Chinner
2011-07-19  2:02       ` Christoph Hellwig
2011-07-19  3:14         ` Dave Chinner
2011-07-18  3:49 ` [PATCH 2/3] xfs: convert xfsbufd to use a workqueue Dave Chinner
2011-07-18 16:01   ` Christoph Hellwig
2011-07-19  1:25     ` Dave Chinner
2011-07-18  3:49 ` [PATCH 3/3] xfs: flush the CIL via " Dave Chinner
2011-07-19  2:03   ` Christoph Hellwig
2011-07-19  3:05     ` Dave Chinner [this message]
2011-07-19  3:11       ` Christoph Hellwig
2011-07-19  4:28         ` Dave Chinner
2011-11-30  9:52   ` Christoph Hellwig

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=20110719030551.GK30254@dastard \
    --to=david@fromorbit.com \
    --cc=hch@infradead.org \
    --cc=xfs@oss.sgi.com \
    /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