[Cluster-devel] [PATCH 0/2] Improve throughput through rgrp sharing (v2)

Bob Peterson rpeterso at redhat.com
Tue May 8 20:04:30 UTC 2018


Hi,

On 18 April, I posted v1 of this patch set. The idea is to allow multiple
processes on a node to share a glock that's held exclusively in order to
improve performance. Sharing rgrps allows for better throughput by
reducing contention.

Version 1 implemented this by introducing a new glock mode for sharing
glocks. Steve Whitehouse suggested we didn't need a new mode: we can
accomplish the same thing just by having a new glock flag, which also
makes the patch more simple.

This version 2 patch set implements Steve's suggestion.

The first patch introduces the new glock flag. The second patch puts
it into use for rgrp sharing. Exclusive access to the rgrp is implemented
through an rwsem.

Performance testing using iozone looks even better than version 1.
---
Bob Peterson (2):
  GFS2: Introduce GLF_EX_SHARING bit: local EX sharing
  GFS2: Take advantage of new EXSH glock mode for rgrps

 fs/gfs2/bmap.c   |   2 +-
 fs/gfs2/dir.c    |   2 +-
 fs/gfs2/glock.c  |  23 ++++++++++---
 fs/gfs2/glock.h  |   4 +++
 fs/gfs2/incore.h |   2 ++
 fs/gfs2/inode.c  |   7 ++--
 fs/gfs2/rgrp.c   | 103 ++++++++++++++++++++++++++++++++++++++++++++++---------
 fs/gfs2/rgrp.h   |   2 +-
 fs/gfs2/super.c  |   8 +++--
 fs/gfs2/xattr.c  |   8 +++--
 10 files changed, 129 insertions(+), 32 deletions(-)

-- 
2.14.3




More information about the Cluster-devel mailing list