linux_dsm_epyc7002/fs/gfs2
Steven Whitehouse f42ab08529 GFS2: Optimise glock lru and end of life inodes
The GLF_LRU flag introduced in the previous patch can be
used to check if a glock is on the lru list when a new
holder is queued and if so remove it, without having first
to get the lru_lock.

The main purpose of this patch however is to optimise the
glocks left over when an inode at end of life is being
evicted. Previously such glocks were left with the GLF_LFLUSH
flag set, so that when reclaimed, each one required a log flush.
This patch resets the GLF_LFLUSH flag when there is nothing
left to flush thus preventing later log flushes as glocks are
reused or demoted.

In order to do this, we need to keep track of the number of
revokes which are outstanding, and also to clear the GLF_LFLUSH
bit after a log commit when only revokes have been processed.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2011-04-20 09:01:17 +01:00
..
acl.c GFS2: Post-VFS scale update for RCU path walk 2011-01-21 09:39:24 +00:00
acl.h fs: provide rcu-walk aware permission i_ops 2011-01-07 17:50:29 +11:00
aops.c GFS2: write_end error path fails to unlock transaction lock 2011-04-18 15:22:35 +01:00
bmap.c Fix common misspellings 2011-03-31 11:26:23 -03:00
bmap.h GFS2: New truncate sequence 2010-09-20 11:18:16 +01:00
dentry.c gfs2: fix d_revalidate oopsen on NFS exports 2011-03-10 03:44:48 -05:00
dir.c GFS2: move function foreach_leaf to gfs2_dir_exhash_dealloc 2011-04-20 08:54:44 +01:00
dir.h GFS2: Make . and .. qstrs constant 2010-09-20 11:21:09 +01:00
export.c exportfs: Return the minimum required handle size 2011-03-14 09:15:28 -04:00
file.c GFS2: Clean up fsync() 2011-04-20 09:00:41 +01:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c GFS2: Optimise glock lru and end of life inodes 2011-04-20 09:01:17 +01:00
glock.h GFS2: Alter point of entry to glock lru list for glocks with an address_space 2011-04-20 08:59:48 +01:00
glops.c GFS2: Clean up fsync() 2011-04-20 09:00:41 +01:00
glops.h GFS2: Clean up fsync() 2011-04-20 09:00:41 +01:00
incore.h GFS2: Optimise glock lru and end of life inodes 2011-04-20 09:01:17 +01:00
inode.c GFS2: Optimise glock lru and end of life inodes 2011-04-20 09:01:17 +01:00
inode.h GFS2: Optimise glock lru and end of life inodes 2011-04-20 09:01:17 +01:00
Kconfig GFS2: No longer experimental 2010-09-20 11:18:46 +01:00
lock_dlm.c GFS2: Fix glock deallocation race 2011-03-09 10:58:04 +00:00
log.c GFS2: Use filemap_fdatawrite() to write back the AIL 2011-04-20 08:59:25 +01:00
log.h GFS2: Rework reclaiming unlinked dinodes 2010-05-21 16:11:36 +01:00
lops.c GFS2: Optimise glock lru and end of life inodes 2011-04-20 09:01:17 +01:00
lops.h [GFS2] Only do lo_incore_commit once 2008-03-31 10:39:54 +01:00
main.c GFS2: Optimise glock lru and end of life inodes 2011-04-20 09:01:17 +01:00
Makefile fs: change to new flag variable 2011-03-17 14:02:57 +01:00
meta_io.c GFS2: Improve tracing support (adds two flags) 2011-04-20 09:00:59 +01:00
meta_io.h GFS2: Remove unused macro 2011-04-20 09:00:24 +01:00
ops_fstype.c GFS2: filesystem hang caused by incorrect lock order 2011-04-18 15:23:50 +01:00
ops_inode.c GFS2: Post-VFS scale update for RCU path walk 2011-01-21 09:39:24 +00:00
quota.c GFS2: quota allows exceeding hard limit 2011-03-09 09:32:44 +00:00
quota.h mm: add context argument to shrinker callback 2010-07-19 14:56:17 +10:00
recovery.c GFS2: Fix spectator umount issue 2010-09-29 14:20:52 +01:00
recovery.h gfs2: use workqueue instead of slow-work 2010-07-23 13:14:25 +02:00
rgrp.c GFS2: Alter point of entry to glock lru list for glocks with an address_space 2011-04-20 08:59:48 +01:00
rgrp.h GFS2: deallocation performance patch 2011-02-24 12:13:48 +00:00
super.c GFS2: Optimise glock lru and end of life inodes 2011-04-20 09:01:17 +01:00
super.h gfs: constify xattr_handler 2010-05-21 18:31:20 -04:00
sys.c GFS2: Fix type mapping for demote_rq interface 2010-10-06 09:58:44 +01:00
sys.h GFS2: Remove ancient, unused code 2009-01-05 07:39:13 +00:00
trace_gfs2.h GFS2: Improve tracing support (adds two flags) 2011-04-20 09:00:59 +01:00
trans.c GFS2: Various gfs2_logd improvements 2010-05-05 09:39:18 +01:00
trans.h GFS2: reserve more blocks for transactions 2010-09-28 09:44:24 +01:00
util.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
util.h GFS2: Metadata address space clean up 2010-03-01 14:07:37 +00:00
xattr.c GFS2: Clean up duplicated setattr code 2010-11-30 10:30:19 +00:00
xattr.h sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00