linux_dsm_epyc7002/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
..
acl.c gfs2: Always update inode ctime in set_acl 2017-09-25 12:33:19 -05:00
acl.h
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
dir.c gfs2: Add gfs2_max_stuffed_size 2018-01-18 14:18:53 -07:00
dir.h
export.c
file.c GFS2: Log the reason for log flushes in every log header 2018-01-23 07:39:20 -07:00
gfs2.h
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
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
Kconfig gfs2: Fix the crc32c dependency 2018-02-01 11:25:31 -07: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
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01: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
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
recovery.c GFS2: Introduce new gfs2_log_header_v2 2018-01-23 07:38:53 -07:00
recovery.h
rgrp.c gfs2: Add a few missing newlines in messages 2018-01-30 10:32:30 -07:00
rgrp.h
super.c gfs2: Remove inode from ordered write list in gfs2_write_inode() 2018-01-30 10:00:27 -07:00
super.h
sys.c gfs2: Add a few missing newlines in messages 2018-01-30 10:32:30 -07:00
sys.h
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
util.c
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