Messages in this thread | | | Date | Wed, 3 Jul 2013 13:37:25 -0700 | Subject | Re: [PATCH v3 03/25] dcache: Enable lockless update of d_count in dentry structure | From | Linus Torvalds <> |
| |
This patch grew a lot, and that seems to be mainly because of bad reasons.
I'd suggest dropping the whole "lockref_ret_count()"/"lockref_ret_lock()" helpers, which cause all the annoyance, and just make people use the members directly.
Then, just do
#define d_lock d_lockref.lockref_lock
or similar, so that all the existing code just continues to work, without the need for the syntactic changes:
- spin_lock(&dentry->d_lock); + d_lock(dentry);
For d_count, we probably do need to have the wrapper macro:
#define dentry_count(dentry) ((dentry)->d_lockref.lockref_count)
and change the existing users of "dentry->d_count" to use that, but there are fewer of those than there are of people taking the dentry lock. And most of them are in fs/dcache.c and would be affected by this set of patches anyway.
Linus
| |