[Top] [All Lists]

Re: [PATCH 3/3] xfs simplify and speed up direct I/O completions

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 3/3] xfs simplify and speed up direct I/O completions
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 20 Jul 2010 18:08:52 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20100718211820.739557136@xxxxxxxxxxxxxxxxxxxxxx>
References: <20100718211708.327705876@xxxxxxxxxxxxxxxxxxxxxx> <20100718211820.739557136@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Sun, Jul 18, 2010 at 05:17:11PM -0400, Christoph Hellwig wrote:
> Our current handling of direct I/O completions is rather suboptimal,
> because we defer it to a workqueue more often than needed, and we
> perform a much to aggressive flush of the workqueue in case unwritten
> extent conversions happen.
> This patch changes the direct I/O reads to not even use a completion
> handler, as we don't bother to use it at all, and to perform the unwritten
> extent conversions in caller context for synchronous direct I/O.
> For a small I/O size direct I/O workload on a consumer grade SSD, such as
> the untar of a kernel tree inside qemu this patch gives speedups of
> about 5%.  Getting us much closer to the speed of a native block device,
> or a fully allocated XFS file.
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Looks a lot saner - getting rid of the workqueue flushes is a good

Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>

Dave Chinner

<Prev in Thread] Current Thread [Next in Thread>