summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_dir2_data.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2010-07-18 21:17:11 +0000
committerAlex Elder <aelder@sgi.com>2010-07-26 16:09:19 -0500
commit209fb87a259ead17e966627b7f053d16a96898da (patch)
tree2cb348a32e2c1488cfb14189e975bcbcb6a0695f /fs/xfs/xfs_dir2_data.h
parentfb511f2150174b18b28ad54708c1adda0df39b17 (diff)
xfs simplify and speed up direct I/O completions
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@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_dir2_data.h')
0 files changed, 0 insertions, 0 deletions