All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cluster-devel] [GFS2 PATCH 0/2] Improve throughput through rgrp sharing (v3)
@ 2018-05-15 18:29 Bob Peterson
  2018-05-15 18:29 ` [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Introduce LM_FLAG_NODE_EX holder bit: Node Exclusive sharing Bob Peterson
  2018-05-15 18:29 ` [Cluster-devel] [GFS2 PATCH 2/2] GFS2: Introduce rgrp sharing Bob Peterson
  0 siblings, 2 replies; 6+ messages in thread
From: Bob Peterson @ 2018-05-15 18:29 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

This is version 3 of my patch set to allow rgrp glock sharing,
based on feedback I received from Steve Whitehouse and Andreas
Gruenbacher. It improves upon version 2 in the following ways:

1. Comments and descriptions are fixed to match the actual intent
   of the code. They were previously outdated and incorrect.
2. The rwsem has been replaced by a simple semaphore, since there
   is no non-exclusive access to the locks yet.
3. The newer versions of the patches don't take the rgrp exclusive
   lock multiple times for a transaction, so there is no longer a
   need to track who is holding the semaphore. Therefore all that
   has been eliminated.
4. Some variable and function names have been renamed to make more sense.

The first patch introduces the new glock holder flag that allows
multiple tasks on a single node to share a glock held in EX mode.

The second patch puts the new holder flag into use for rgrp sharing.
Exclusive access to the rgrp is implemented through a new rgrp
semaphore and supporting functions.

Performance tests done on an earlier prototype indicate the overall
throughput is 6X the original code when multiple processes are writing,
with vastly improved sharing of the block allocator.

Bob Peterson (2):
  GFS2: Introduce LM_FLAG_NODE_EX holder bit: Node Exclusive sharing
  GFS2: Introduce rgrp sharing

 fs/gfs2/bmap.c   |  2 +-
 fs/gfs2/dir.c    |  2 +-
 fs/gfs2/glock.c  | 23 ++++++++++---
 fs/gfs2/glock.h  |  6 ++++
 fs/gfs2/incore.h |  2 ++
 fs/gfs2/inode.c  |  7 ++--
 fs/gfs2/rgrp.c   | 86 ++++++++++++++++++++++++++++++++++++++++--------
 fs/gfs2/rgrp.h   |  2 +-
 fs/gfs2/super.c  |  8 +++--
 fs/gfs2/xattr.c  |  8 +++--
 10 files changed, 116 insertions(+), 30 deletions(-)

-- 
2.17.0



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-05-21  8:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-15 18:29 [Cluster-devel] [GFS2 PATCH 0/2] Improve throughput through rgrp sharing (v3) Bob Peterson
2018-05-15 18:29 ` [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Introduce LM_FLAG_NODE_EX holder bit: Node Exclusive sharing Bob Peterson
2018-05-15 19:11   ` Andreas Gruenbacher
2018-05-15 18:29 ` [Cluster-devel] [GFS2 PATCH 2/2] GFS2: Introduce rgrp sharing Bob Peterson
2018-05-15 19:10   ` Andreas Gruenbacher
2018-05-21  8:56   ` Steven Whitehouse

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.