Add new lockref infrastructure reference implementation
authorWaiman Long <Waiman.Long@hp.com>
Thu, 29 Aug 2013 01:13:26 +0000 (18:13 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 29 Aug 2013 01:13:27 +0000 (18:13 -0700)
commit0f8f2aaaab0b0f9c13635cb02e7d19bdaa9aa1bb
treeda409bc0a2149914582c9f8d834ebc27a2ae9cde
parentf0cc6ffb8ce8961db587e5072168cac0cbc25f05
Add new lockref infrastructure reference implementation

This introduces a new "lockref" structure that supports the concept of
lockless updates of reference counts that still honor an attached
spinlock.

NOTE! This reference implementation is not the optimized lockless
version, rather it is the fallback implementation using standard
spinlocks.  The actual optimized versions will be merged into 3.12, but
I wanted to get the infrastructure in place and document the new
interfaces.

[ Also note that this particular commit is drastically cut-down minimal
  version of the original patch by Waiman.  In order to properly credit
  the original author I'm marking Waiman as the author here, but in the
  end this patch bears little resemblance to the patch by Waiman.  So
  blame any errors on me editing things down to the point where I can
  introduce the infrastructure before the merge window for 3.12 actually
  opens.     - Linus ]

Signed-off-by: Waiman Long <Waiman.Long@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/lockref.h [new file with mode: 0644]