From: Waiman Long <waiman.long@hp.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: paulmck@linux.vnet.ibm.com,
Linus Torvalds <torvalds@linux-foundation.org>,
Matt Turner <mattst88@gmail.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Daniel J Blueman <daniel@numascale.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [PATCH v8 4/4] qrwlock: Use smp_store_release() in write_unlock()
Date: Tue, 21 Jan 2014 11:16:03 -0500 [thread overview]
Message-ID: <52DE9D43.1020305@hp.com> (raw)
In-Reply-To: <20140121154113.GB31570@twins.programming.kicks-ass.net>
On 01/21/2014 10:41 AM, Peter Zijlstra wrote:
> On Tue, Jan 21, 2014 at 10:02:06AM -0500, Waiman Long wrote:
>> 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.
> See my other email; I don't think you can do that without also changing
> the implementation of the queue_read_{try}lock() functions.
>
> Without those changes you can have transient values in your 'read-count'
> part of the word and a full word write will wreck things.
I don't see any problem with my current logic. If a writer has the write
lock, the writer byte has to have a value of 0xff. So atomically
subtracting 0xff from it will guarantee that the writer byte will become
zero, which is the same as assigning a zero value to that byte. The only
difference is that an atomic subtract instruction will need to be used
instead of a simple byte assignment.
Please let me know if there is any flaw in my logic.
-Longman
next prev parent reply other threads:[~2014-01-21 16:16 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-13 2:47 [PATCH v8 4/4] qrwlock: Use smp_store_release() in write_unlock() Daniel J Blueman
2014-01-13 3:49 ` Paul E. McKenney
2014-01-13 16:41 ` Waiman Long
2014-01-14 2:28 ` Daniel J Blueman
2014-01-14 11:03 ` Peter Zijlstra
2014-01-14 15:25 ` Waiman Long
2014-01-14 17:08 ` Matt Turner
2014-01-14 18:01 ` Richard Henderson
2014-01-14 19:09 ` Waiman Long
2014-01-14 20:20 ` Peter Zijlstra
2014-01-14 23:44 ` Paul E. McKenney
2014-01-15 0:25 ` Linus Torvalds
2014-01-15 2:39 ` Paul E. McKenney
2014-01-15 8:07 ` Peter Zijlstra
2014-01-15 20:53 ` Paul E. McKenney
2014-01-15 23:21 ` Peter Zijlstra
[not found] ` <CA+55aFydYLQeBq=4AQQp_4dAnq09ocLmde1LFaXiNAJ=wJzfFA@mail.gmail.com>
2014-01-16 10:36 ` Peter Zijlstra
2014-01-18 10:01 ` Paul E. McKenney
2014-01-18 11:34 ` Peter Zijlstra
2014-01-18 12:25 ` Paul E. McKenney
2014-01-18 12:41 ` Peter Zijlstra
2014-01-18 21:22 ` Paul E. McKenney
2014-01-19 0:57 ` Linus Torvalds
2014-01-19 8:04 ` Paul E. McKenney
2014-01-19 19:56 ` Linus Torvalds
2014-01-20 0:52 ` Paul E. McKenney
2014-01-21 15:02 ` Waiman Long
2014-01-21 15:41 ` Peter Zijlstra
2014-01-21 16:16 ` Waiman Long [this message]
2014-01-15 3:08 ` Daniel J Blueman
-- strict thread matches above, loose matches on Subject: below --
2014-01-08 16:59 [PATCH v8 0/4] qrwlock: Introducing a queue read/write lock implementation Waiman Long
2014-01-08 16:59 ` [PATCH v8 4/4] qrwlock: Use smp_store_release() in write_unlock() Waiman Long
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52DE9D43.1020305@hp.com \
--to=waiman.long@hp.com \
--cc=daniel@numascale.com \
--cc=ink@jurassic.park.msu.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=mattst88@gmail.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=rth@twiddle.net \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.