Bug 150066 - rgmanager has redundant locking which hurts performance
Summary: rgmanager has redundant locking which hurts performance
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Cluster Suite
Classification: Retired
Component: rgmanager
Version: 4
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Lon Hohberger
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-03-02 02:53 UTC by Lon Hohberger
Modified: 2009-04-16 20:16 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-05-05 21:04:10 UTC
Embargoed:


Attachments (Terms of Use)

Description Lon Hohberger 2005-03-02 02:53:41 UTC
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-02 04:13:00 UTC
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 17:28:27 UTC
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.