mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 16:38:31 +00:00 
			
		
		
		
	|  209fb87a25 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> | ||
|---|---|---|
| .. | ||
| kmem.c | ||
| kmem.h | ||
| mrlock.h | ||
| sv.h | ||
| time.h | ||
| xfs_acl.c | ||
| xfs_aops.c | ||
| xfs_aops.h | ||
| xfs_buf.c | ||
| xfs_buf.h | ||
| xfs_cred.h | ||
| xfs_export.c | ||
| xfs_export.h | ||
| xfs_file.c | ||
| xfs_fs_subr.c | ||
| xfs_globals.c | ||
| xfs_globals.h | ||
| xfs_ioctl32.c | ||
| xfs_ioctl32.h | ||
| xfs_ioctl.c | ||
| xfs_ioctl.h | ||
| xfs_iops.c | ||
| xfs_iops.h | ||
| xfs_linux.h | ||
| xfs_quotaops.c | ||
| xfs_stats.c | ||
| xfs_stats.h | ||
| xfs_super.c | ||
| xfs_super.h | ||
| xfs_sync.c | ||
| xfs_sync.h | ||
| xfs_sysctl.c | ||
| xfs_sysctl.h | ||
| xfs_trace.c | ||
| xfs_trace.h | ||
| xfs_version.h | ||
| xfs_vnode.h | ||
| xfs_xattr.c | ||