locking/atomic, kref: Add kref_read()
Since we need to change the implementation, stop exposing internals. Provide kref_read() to read the current reference count; typically used for debug messages. Kills two anti-patterns: atomic_read(&kref->refcount) kref->refcount.counter Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:

committed by
Ingo Molnar

orang tua
1e24edca05
melakukan
2c935bc572
@@ -301,7 +301,7 @@ static inline void __cxgbi_sock_put(const char *fn, struct cxgbi_sock *csk)
|
||||
{
|
||||
log_debug(1 << CXGBI_DBG_SOCK,
|
||||
"%s, put csk 0x%p, ref %u-1.\n",
|
||||
fn, csk, atomic_read(&csk->refcnt.refcount));
|
||||
fn, csk, kref_read(&csk->refcnt));
|
||||
kref_put(&csk->refcnt, cxgbi_sock_free);
|
||||
}
|
||||
#define cxgbi_sock_put(csk) __cxgbi_sock_put(__func__, csk)
|
||||
@@ -310,7 +310,7 @@ static inline void __cxgbi_sock_get(const char *fn, struct cxgbi_sock *csk)
|
||||
{
|
||||
log_debug(1 << CXGBI_DBG_SOCK,
|
||||
"%s, get csk 0x%p, ref %u+1.\n",
|
||||
fn, csk, atomic_read(&csk->refcnt.refcount));
|
||||
fn, csk, kref_read(&csk->refcnt));
|
||||
kref_get(&csk->refcnt);
|
||||
}
|
||||
#define cxgbi_sock_get(csk) __cxgbi_sock_get(__func__, csk)
|
||||
|
Reference in New Issue
Block a user