android_kernel_xiaomi_sdm845/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 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
kmem.h Slab API: remove useless ctor parameter and reorder parameters 2007-10-17 08:42:45 -07:00
mrlock.h [XFS] Add lockdep support for XFS 2007-05-08 13:50:19 +10:00
mutex.h [XFS] mutex fallout - fix debug builds and remove no-longer-useful comment. 2006-01-16 16:21:34 +11:00
sema.h [XFS] standardize on one sema init macro 2006-09-28 11:05:46 +10:00
sv.h [XFS] Collapse sv_init and init_sv into just the one interface. 2006-09-28 11:05:52 +10:00
time.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_aops.c [XFS] kill xfs_iocore_t 2008-02-07 16:48:58 +11:00
xfs_aops.h [XFS] move v_iocount from bhv_vnode to xfs_inode 2007-10-16 11:38:56 +10:00
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 [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
xfs_dmapi_priv.h [XFS] Remove KERNEL_VERSION macros from xfs_dmapi.h 2006-11-11 18:05:06 +11:00
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] kill the v_flag member in struct bhv_vnode 2007-10-16 11:37:29 +10:00
xfs_fs_subr.h [XFS] decontaminate vnode operations from behavior details 2007-10-15 16:54:29 +10:00
xfs_globals.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_globals.h [XFS] Remove xfs_physmem 2007-10-15 16:40:14 +10:00
xfs_ioctl32.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_ioctl32.h [XFS] Fix compiler warning from xfs_file_compat_invis_ioctl prototype. 2006-03-20 13:25:48 +11:00
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] call common xfs vnode-level helpers directly and remove vnode operations 2007-10-16 10:40:00 +10:00
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 [PATCH] for_each_possible_cpu: xfs 2006-06-23 07:42:45 -07:00
xfs_stats.h [XFS] Complete the pagebuf -> xfs_buf naming convention transition, 2006-01-11 15:39:08 +11:00
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] Concurrent Multi-File Data Streams 2007-07-14 15:40:53 +10:00
xfs_sysctl.h [XFS] Concurrent Multi-File Data Streams 2007-07-14 15:40:53 +10:00
xfs_version.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_vfs.h [XFS] kill struct bhv_vfs 2007-10-16 12:17:27 +10:00
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