From: Christoph Hellwig <hch@lst.de>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
czoccolo@gmail.com
Subject: Re: trying to understand READ_META, READ_SYNC, WRITE_SYNC & co
Date: Sat, 26 Jun 2010 12:05:26 +0200 [thread overview]
Message-ID: <20100626100526.GA27159@lst.de> (raw)
In-Reply-To: <20100626033509.GA2435@redhat.com>
On Fri, Jun 25, 2010 at 11:35:10PM -0400, Vivek Goyal wrote:
> This logic was introduced by corrado to ensure WRITE_SYNC does not
> lose fair share. Now we are back to the same question, what is the workload
> which does that.
>
> 8e55063 cfq-iosched: fix corner cases in idling logic
>
> Before this patch, we will simply not do any idling on WRITE_SYNC. That
> means no idling on O_SYNC/fsync paths but still idle on direct IO
> WRITE_SYNC. Which is a bit of discrepancy.
Corrado, can you explain what workloads you doing that commit for?
The commit message doesn't really given any useful information.
> - Stop idling on all the WRITE_SYNC IO. There is no reasonable way to
> tell whether there will be more IO or not from applicatoin. This will
> impact direct writes, O_SYNC writes and fsync().
>
> If direct IO application is submitting writes with a delay in between
> it can be starved out in presnce of competing workloads.
So what application does this?
> - Do idling by default on WRITE_SYNC path. Implement Jeff's queue yielding
> patches. That way O_SYNC/fsyn path will call blk_yield() and stop idling.
> Direct IO write path will stil continue to idle (I think if file has already
> been laid out?).
I don't think this makes much sense. And O_SYNC write / fsync are
defined to not return before the I/O makes it to disk, and for any
sane filesystem end with a WRITE_BARRIER request because of that.
So we end these with an explicit unplug anyway, no need for idling
logic.
next prev parent reply other threads:[~2010-06-26 10:05 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-21 9:48 trying to understand READ_META, READ_SYNC, WRITE_SYNC & co Christoph Hellwig
2010-06-21 10:04 ` Jens Axboe
2010-06-21 11:04 ` Christoph Hellwig
2010-06-21 18:56 ` Jens Axboe
2010-06-21 19:14 ` Christoph Hellwig
2010-06-21 19:16 ` Jens Axboe
2010-06-21 19:20 ` Christoph Hellwig
2010-06-21 21:36 ` Vivek Goyal
2010-06-23 10:01 ` Christoph Hellwig
2010-06-24 1:44 ` Vivek Goyal
2010-06-25 11:03 ` Christoph Hellwig
2010-06-26 3:35 ` Vivek Goyal
2010-06-26 10:05 ` Christoph Hellwig [this message]
2010-06-26 11:20 ` Jens Axboe
2010-06-26 11:56 ` Christoph Hellwig
2010-06-27 15:44 ` Jeff Moyer
2010-06-29 9:06 ` Corrado Zoccolo
2010-06-29 12:30 ` Vivek Goyal
2010-06-29 12:30 ` Vivek Goyal
2010-06-30 15:30 ` Corrado Zoccolo
2010-06-30 15:30 ` Corrado Zoccolo
2010-06-26 9:25 ` Nick Piggin
2010-06-26 9:27 ` Christoph Hellwig
2010-06-26 10:10 ` Nick Piggin
2010-06-26 10:16 ` Christoph Hellwig
2010-06-21 18:52 ` Jeff Moyer
2010-06-21 18:58 ` Jens Axboe
2010-06-21 19:08 ` Jeff Moyer
2010-06-23 9:26 ` Christoph Hellwig
2010-06-21 20:25 ` Vivek Goyal
2010-06-23 10:02 ` 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=20100626100526.GA27159@lst.de \
--to=hch@lst.de \
--cc=axboe@kernel.dk \
--cc=czoccolo@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vgoyal@redhat.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 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.