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 thing. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs