Re: [PATCH v8 4/4] qrwlock: Use smp_store_release() in write_unlock()

From: Waiman Long
Date: Tue Jan 21 2014 - 10:02:18 EST


On 01/19/2014 03:04 AM, Paul E. McKenney wrote:
On Sat, Jan 18, 2014 at 04:57:05PM -0800, Linus Torvalds wrote:
On Sat, Jan 18, 2014 at 1:22 PM, Paul E. McKenney
<paulmck@xxxxxxxxxxxxxxxxxx> wrote:
Yes, this requires that -all- updates to the fields in the machine word
in question use atomic rmw. Which would not be pretty from a core-code
perspective. Hence my suggestion of ceasing Linux-kernel support for
DEC Alpha CPUs that don't support byte operations. Also need 16-bit
operations as well, of course...
I'm not seeing this.

Why the hell would you have byte- or halfword-sized versions of the
store_release or load_acquire things on alpha anyway?

What it means is that data structures that do locking or atomics need
to be "int" or "long" on alpha. That has always been true. What do
you claim has changed?
OK, another approach would be to never add "select ARCH_USE_QUEUE_RWLOCK"
on Alpha, at least if the queued rwlocks really do want to atomically
manipulate bytes. After all, the Alpha systems that I know about don't
have enough CPUs to make queued rwlocks necessary anyway.

Much simpler solution!

Is this what you were getting at, or am I missing your point?

Thanx, Paul


My latest v9 series of qrwlock patch will automatically adapt to the lack of atomic byte access by using an atomic integer instruction instead. So the new series should work for pre-EV56 Alpha, it is just a bit less efficient in this case.

-Longman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/