Red Hat Bugzilla – Bug 359271
gfs_controld - make un-contended plocks faster by implementing an ownership mechanism
Last modified: 2009-04-16 18:26:58 EDT
Description of problem:
Even when there is no contention between nodes for plocks on a given file,
cluster-wide plock messages are circulated. This greatly impacts plock
throughput. Main implication is poor samba performance.
A file-lease type design entirely implemented in gfs_controld will allow local
plocks to be obtained when there is no contention, thereby speeding up
performance. When contention arises, the locks will automatically distribute and
operations would fallback to clustered plocks.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
Please explain how to enable this feature so QA can add coverage to our test suites.
Code checked into cvs HEAD, once we've done some more basic testing we'll
put it into the RHEL5 branch.
Module name: cluster
Changes by: firstname.lastname@example.org 2007-11-28 20:49:08
group/gfs_controld: cpg.c lock_dlm.h main.c plock.c recover.c
A performance optimization for plocks. This speeds up locks that are
repeatedly accessed by processes on a single node. Plocks used by
processes on multiple nodes work the same way as before. The
optimization is disabled by default, and can be enabled by setting
in cluster.conf, or by starting gfs_controld with "-o1". It is disabled
by default because enabling it breaks compatibility with previous versions
of gfs_controld. If all nodes in the cluster are running this version,
then plock_ownership can be enabled.
The plock_ownership mode needs extensive testing. This also introduces
some minor changes when plock_ownership is disabled, so new testing is
also required in that mode. Abhi and I worked on this together.
To enable the performance enhancement, add this to cluster.conf:
gfs_controld is in the cman package
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.