On Thu 19-01-17 10:44:05, Michal Hocko wrote:
> On Thu 19-01-17 10:22:36, Jan Kara wrote:
> > On Thu 19-01-17 09:39:56, Michal Hocko wrote:
> > > On Tue 17-01-17 18:29:25, Jan Kara wrote:
> > > > On Tue 17-01-17 17:16:19, Michal Hocko wrote:
> > > > > > > But before going to play with that I am
Simultaneous writes from a single node were very slow due to
contention for the gfs2_log_lock. This lock is used to protect the
journaled data and metadata buffer lists, and the list headers in the
superblock that hold pointers to them. The log_lock is used whenever
a metadata block is added to a
This patch eliminates the int variable tr_touched in favor of a
new flag in the transaction. This is a step toward reducing contention
on the gfs2_log_lock spin_lock.
Signed-off-by: Bob Peterson
---
fs/gfs2/incore.h | 10 +++---
fs/gfs2/log.c | 6 +++---
This patch reworks some of the log locks to provide less contention.
Signed-off-by: Bob Peterson
---
fs/gfs2/aops.c| 23 ++-
fs/gfs2/glops.c | 4 ++--
fs/gfs2/log.c | 6 ++---
fs/gfs2/lops.c| 3 ++-
fs/gfs2/meta_io.c | 11 +
This patch simply combines function meta_lo_add with its only
caller, trans_add_meta. This makes the code easier to read and
will make it easier to reduce contention on gfs2_log_lock.
Signed-off-by: Bob Peterson
---
fs/gfs2/trans.c | 49