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 release.
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. CVSROOT: /cvs/cluster Module name: cluster Changes by: teigland 2007-11-28 20:49:08 Modified files: group/gfs_controld: cpg.c lock_dlm.h main.c plock.c recover.c Log message: 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 <gfs_controld plock_ownership="1"/> 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 plock_ownership="1"/>
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. http://rhn.redhat.com/errata/RHBA-2008-0347.html