[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100626100526.GA27159@lst.de>
Date: Sat, 26 Jun 2010 12:05:26 +0200
From: Christoph Hellwig <hch@....de>
To: Vivek Goyal <vgoyal@...hat.com>
Cc: Christoph Hellwig <hch@....de>, Jens Axboe <axboe@...nel.dk>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
czoccolo@...il.com
Subject: Re: trying to understand READ_META, READ_SYNC, WRITE_SYNC & co
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists