Bug 150066 - rgmanager has redundant locking which hurts performance
rgmanager has redundant locking which hurts performance
Status: CLOSED CURRENTRELEASE
Product: Red Hat Cluster Suite
Classification: Red Hat
Component: rgmanager (Show other bugs)
4
All Linux
medium Severity medium
: ---
: ---
Assigned To: Lon Hohberger
Cluster QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-03-01 21:53 EST by Lon Hohberger
Modified: 2009-04-16 16:16 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-05-05 17:04:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Lon Hohberger 2005-03-01 21:53:41 EST
Description of problem:

rgmanager has rg_lock() and rg_unlock().  These are artifacts from clumanager,
and aren't needed because the data replication subsystem is both thread-locked
and cluster-locked.  rg_lock() and rg_unlock() just slow things down.

Running with them defined to no-op functions returning 0 is a huge performance gain.
Comment 1 Lon Hohberger 2005-03-01 23:13:00 EST
Reducing them all to no-ops is a bad idea; it opens potential TOCTOU problems. 
They should be evaulated on a case-by-case basis.
Comment 2 Lon Hohberger 2005-03-07 12:28:27 EST
Generally, when a node only needs to read the service data to make
some decision -- but not updating it, it can safely just call
get_rg_state without calling rg_lock/rg_unlock.

This would significantly improve performance during node transitions
when we are evaluating resource groups.

Note You need to log in before you can comment on or make changes to this bug.