android_kernel_xiaomi_sm8350/fs/xfs/linux-2.6
David Chinner 5d51eff453 [XFS] Fix inode allocation latency
The log force added in xfs_iget_core() has been a performance issue since
it was introduced for tight loops that allocate then unlink a single file.
under heavy writeback, this can introduce unnecessary latency due tothe
log I/o getting stuck behind bulk data writes.

Fix this latency problem by avoinding the need for the log force by moving
the place we mark linux inode dirty to the transaction commit rather than
on transaction completion.

This also closes a potential hole in the sync code where a linux inode is
not dirty between the time it is modified and the time the log buffer has
been written to disk.

SGI-PV: 972753
SGI-Modid: xfs-linux-melb:xfs-kern:30007a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
2008-02-07 18:16:07 +11:00
..
kmem.c
kmem.h Slab API: remove useless ctor parameter and reorder parameters 2007-10-17 08:42:45 -07:00
mrlock.h
mutex.h
sema.h
sv.h
time.h
xfs_aops.c [XFS] kill xfs_iocore_t 2008-02-07 16:48:58 +11:00
xfs_aops.h
xfs_buf.c [XFS] 971186 Undo mod xfs-linux-melb:xfs-kern:29845a due to a regression 2008-02-07 18:13:27 +11:00
xfs_buf.h [XFS] 971186 Undo mod xfs-linux-melb:xfs-kern:29845a due to a regression 2008-02-07 18:13:27 +11:00
xfs_cred.h
xfs_dmapi_priv.h
xfs_export.c exportfs: make struct export_operations const 2007-10-22 08:13:21 -07:00
xfs_export.h xfs: new export ops 2007-10-22 08:13:20 -07:00
xfs_file.c [XFS] fix unaligned access in readdir 2008-01-11 18:05:04 +11:00
xfs_fs_subr.c
xfs_fs_subr.h
xfs_globals.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_globals.h
xfs_ioctl32.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_ioctl32.h
xfs_ioctl.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_iops.c [XFS] Fix inode allocation latency 2008-02-07 18:16:07 +11:00
xfs_iops.h
xfs_linux.h [XFS] Kill off xfs_statvfs. 2008-02-07 16:53:27 +11:00
xfs_lrw.c [XFS] kill xfs_iocore_t 2008-02-07 16:48:58 +11:00
xfs_lrw.h [XFS] kill xfs_iocore_t 2008-02-07 16:48:58 +11:00
xfs_stats.c
xfs_stats.h
xfs_super.c [XFS] kill xfs_freeze. 2008-02-07 18:09:56 +11:00
xfs_super.h exportfs: make struct export_operations const 2007-10-22 08:13:21 -07:00
xfs_sysctl.c
xfs_sysctl.h
xfs_version.h
xfs_vfs.h
xfs_vnode.c [XFS] cleanup vnode useage in xfs_iget.c 2008-02-07 16:55:46 +11:00
xfs_vnode.h [XFS] cleanup vnode useage in xfs_iget.c 2008-02-07 16:55:46 +11:00