1
0
Fork 0
alistair23-linux/fs/gfs2
Andreas Gruenbacher 7ac07fdaf8 gfs2: Glock dump performance regression fix
Restore an optimization removed in commit 7f19449553 "Fix debugfs glocks
dump": keep the glock hash table iterator active while the glock dump
file is held open.  This avoids having to rescan the hash table from the
start for each read, with quadratically rising runtime.

In addition, use rhastable_walk_peek for resuming a glock dump at the
current position: when a glock doesn't fit in the provided buffer
anymore, the next read must revisit the same glock.

Finally, also restart the dump from the first entry when we notice that
the hash table has been resized in gfs2_glock_seq_start.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
2018-02-01 11:27:11 -07:00
..
Kconfig gfs2: Fix the crc32c dependency 2018-02-01 11:25:31 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acl.c gfs2: Always update inode ctime in set_acl 2017-09-25 12:33:19 -05:00
acl.h gfs2: Switch to generic xattr handlers 2016-05-12 22:28:05 -04:00
aops.c GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
bmap.c gfs2: Add gfs2_max_stuffed_size 2018-01-18 14:18:53 -07:00
bmap.h gfs2: Implement fallocate(FALLOC_FL_PUNCH_HOLE) 2018-01-18 21:15:58 +01:00
dentry.c gfs2: Lock holder cleanup 2016-06-27 09:47:09 -05:00
dir.c gfs2: Add gfs2_max_stuffed_size 2018-01-18 14:18:53 -07:00
dir.h GFS2: Make rename not save dirent location 2014-10-01 14:06:15 +01:00
export.c gfs2: Get rid of gfs2_ilookup 2016-06-27 09:47:08 -05:00
file.c GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
gfs2.h [GFS2] Remove remote lock dropping code 2008-06-27 09:39:44 +01:00
glock.c gfs2: Glock dump performance regression fix 2018-02-01 11:27:11 -07:00
glock.h gfs2: gfs2_evict_inode: Put glocks asynchronously 2017-08-10 10:45:21 -05:00
glops.c GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
glops.h GFS2: update freeze code to use freeze/thaw_super on all nodes 2014-11-17 10:36:39 +00:00
incore.h gfs2: Get rid of gfs2_log_header_in 2018-01-22 07:06:15 -07:00
inode.c GFS2: Don't try to end a non-existent transaction in unlink 2018-01-29 10:00:23 -07:00
inode.h gfs2: Implement SEEK_HOLE / SEEK_DATA via iomap 2017-10-31 14:26:35 +01:00
lock_dlm.c gfs2: Add a few missing newlines in messages 2018-01-30 10:32:30 -07:00
log.c GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
log.h GFS2: Introduce new gfs2_log_header_v2 2018-01-23 07:38:53 -07:00
lops.c GFS2: Fix minor comment typo 2018-01-25 10:18:06 -07:00
lops.h GFS2: Introduce new gfs2_log_header_v2 2018-01-23 07:38:53 -07:00
main.c gfs2: Fix wrong error handling in init_gfs2_fs() 2017-11-27 10:47:22 -06:00
meta_io.c Merge branch 'for-4.14/block' of git://git.kernel.dk/linux-block 2017-09-07 11:59:42 -07:00
meta_io.h GFS2: Refactor gfs2_remove_from_journal 2016-05-06 11:27:27 -05:00
ops_fstype.c GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
quota.c GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
quota.h GFS2: Make rgrp reservations part of the gfs2_inode structure 2015-12-14 12:16:38 -06:00
recovery.c GFS2: Introduce new gfs2_log_header_v2 2018-01-23 07:38:53 -07:00
recovery.h GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes 2016-07-21 13:02:44 -05:00
rgrp.c gfs2: Add a few missing newlines in messages 2018-01-30 10:32:30 -07:00
rgrp.h GFS2: Non-recursive delete 2017-04-19 08:25:43 -04:00
super.c gfs2: Remove inode from ordered write list in gfs2_write_inode() 2018-01-30 10:00:27 -07:00
super.h GFS2: update freeze code to use freeze/thaw_super on all nodes 2014-11-17 10:36:39 +00:00
sys.c gfs2: Add a few missing newlines in messages 2018-01-30 10:32:30 -07:00
sys.h GFS2: dlm based recovery coordination 2012-01-11 09:23:05 +00:00
trace_gfs2.h GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
trans.c GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
trans.h GFS2: Split gfs2_trans_add_bh() into two 2013-01-29 10:28:04 +00:00
util.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
util.h GFS2: Fix up some sparse warnings 2017-08-25 18:47:18 -05:00
xattr.c gfs2: Allow gfs2_xattr_set to be called with the glock held 2017-10-31 14:26:59 +01:00
xattr.h gfs2: Remove gfs2_xattr_acl_chmod 2015-12-06 21:25:17 -05:00