| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 04/18] xfs: lockless per-ag lookups |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Tue, 14 Sep 2010 10:50:34 -0400 |
| Cc: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1284461777-1496-5-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1284461777-1496-1-git-send-email-david@xxxxxxxxxxxxx> <1284461777-1496-5-git-send-email-david@xxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.20 (2009-08-17) |
On Tue, Sep 14, 2010 at 08:56:03PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > When we start taking a reference to the per-ag for every cached > buffer in the system, kernel lockstat profiling on an 8-way create > workload shows the mp->m_perag_lock has higher acquisition rates > than the inode lock and has significantly more contention. That is, > it becomes the highest contended lock in the system. > > The perag lookup is trivial to convert to lock-less RCU lookups > because perag structures never go away. Hence the only thing we need > to protect against is tree structure changes during a grow. THis can > be done simply by replacing the locking in xfs_perag_get() with RCU > read locking. This removes the mp->m_perag_lock completely from this > path. Looks good, Reviewed-by: Christoph Hellwig <hch@xxxxxx> |
| Previous by Date: | Re: [PATCH 03/18] xfs: remove debug assert for per-ag reference counting, Christoph Hellwig |
|---|---|
| Next by Date: | Re: [PATCH 07/18] xfs: don't use vfs writeback for pure metadata modifications, Christoph Hellwig |
| Previous by Thread: | Re: [PATCH 04/18] xfs: lockless per-ag lookups, Dave Chinner |
| Next by Thread: | Re: [PATCH 04/18] xfs: lockless per-ag lookups, Alex Elder |
| Indexes: | [Date] [Thread] [Top] [All Lists] |