On Thu, 2014-07-03 at 16:35 -0400, Waiman Long wrote:
On 07/03/2014 02:34 PM, Jason Low wrote:Converting the pointers in the optimistic_spin_queue to atomic_t would
On Thu, 2014-07-03 at 10:09 -0700, Davidlohr Bueso wrote:I do see a point in reducing the size of the rwsem structure. However, I
On Thu, 2014-07-03 at 09:31 +0200, Peter Zijlstra wrote:Right, especially if it could help things like xfs inode.
On Wed, Jul 02, 2014 at 10:30:03AM -0700, Jason Low wrote:Yeah, and currently struct rw_semaphore is the largest lock we have in
Would potentially reducing the size of the rw semaphore structure by 32Possibly, although I had a look at the mutex structure and we didn't
bits (for all architectures using optimistic spinning) be a nice
benefit?
have a hole to place it in, unlike what you found with the rwsem.
the kernel. Shaving off space is definitely welcome.
don't quite understand the point of converting pointers in the
optimistic_spin_queue structure to atomic_t.
mean we're fully operating on atomic operations instead of using the
potentially racy cmpxchg + ACCESS_ONCE stores on the pointers.
If we're in the process of using the CPU numbers in atomic_t, I thought
we might as well fix that as well since it has actually been shown to
result in lockups on some architectures. We can then avoid needing to
implement the tricky architecture workarounds for optimistic spinning.
Wouldn't that be a "nice-have"?
Jason