All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Musta <tommusta@gmail.com>
To: Peter Zijlstra <peterz@infradead.org>, Torsten Duwe <duwe@lst.de>
Cc: linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
	Anton Blanchard <anton@samba.org>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	linuxppc-dev@lists.ozlabs.org, Ingo Molnar <mingo@kernel.org>
Subject: Re: [PATCH] Convert powerpc simple spinlocks into ticket locks
Date: Thu, 06 Feb 2014 13:28:21 -0600	[thread overview]
Message-ID: <52F3E255.5050906@gmail.com> (raw)
In-Reply-To: <20140206180826.GI5002@laptop.programming.kicks-ass.net>

On 2/6/2014 12:08 PM, Peter Zijlstra wrote:
>>> Can you pair lwarx with sthcx ? I couldn't immediately find the answer
>>> > > in the PowerISA doc. If so I think you can do better by being able to
>>> > > atomically load both tickets but only storing the head without affecting
>>> > > the tail.
>> > 
>> > V2.06b, Book II, Chapter 3, "sthcx" says:
>> > | If a reservation exists and the length associated [...] is not 2 bytes,
>> > | it is undefined whether (RS)_48:63 are stored [...]
>> > 
>> > That doesn't make me feel comfortable :(
> That's on page 692, right? The way I read that is of the lharx/sthcx
> don't have the exact same address, storage is undefined. But I can't
> find mention of non-matching load and store size, although I can imagine
> it being the same undefined.

My read is consistent with Torsten's ... this looks like a bad idea.

Look at the RTL for sthcx. on page 692 (Power ISA V2.06) and you will see this:

if RESERVE then
  if RESERVE_LENGTH = 2 then
     ...
  else
     undefined_case <- 1
else
  ...

A legal implementation might never perform the store.

  reply	other threads:[~2014-02-06 19:28 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-06 10:37 [PATCH] Convert powerpc simple spinlocks into ticket locks Torsten Duwe
2014-02-06 10:37 ` Torsten Duwe
2014-02-06 15:53 ` Benjamin Herrenschmidt
2014-02-06 15:53   ` Benjamin Herrenschmidt
2014-02-06 16:38 ` Peter Zijlstra
2014-02-06 16:38   ` Peter Zijlstra
2014-02-06 17:37   ` Torsten Duwe
2014-02-06 17:37     ` Torsten Duwe
2014-02-06 18:08     ` Peter Zijlstra
2014-02-06 18:08       ` Peter Zijlstra
2014-02-06 19:28       ` Tom Musta [this message]
2014-02-10  2:54         ` Benjamin Herrenschmidt
2014-02-10  2:54           ` Benjamin Herrenschmidt
2014-02-07  8:24       ` Torsten Duwe
2014-02-07  8:24         ` Torsten Duwe
2014-02-06 20:19     ` Scott Wood
2014-02-06 20:19       ` Scott Wood
2014-02-07  9:02       ` Torsten Duwe
2014-02-07  9:02         ` Torsten Duwe
2014-02-07 10:31         ` Peter Zijlstra
2014-02-07 10:31           ` Peter Zijlstra
2014-02-07 10:36           ` Peter Zijlstra
2014-02-07 10:36             ` Peter Zijlstra
2014-02-07 10:45           ` Peter Zijlstra
2014-02-07 10:45             ` Peter Zijlstra
2014-02-07 11:49             ` Torsten Duwe
2014-02-07 11:49               ` Torsten Duwe
2014-02-07 12:28               ` Peter Zijlstra
2014-02-07 12:28                 ` Peter Zijlstra
2014-02-07 15:18                 ` Peter Zijlstra
2014-02-07 15:18                   ` Peter Zijlstra
2014-02-07 15:43                   ` Peter Zijlstra
2014-02-07 15:43                     ` Peter Zijlstra
2014-02-07 17:08                   ` Torsten Duwe
2014-02-07 17:08                     ` Torsten Duwe
2014-02-07 17:19                     ` Peter Zijlstra
2014-02-07 17:19                       ` Peter Zijlstra
2014-02-07 15:51         ` Kumar Gala
2014-02-07 15:51           ` Kumar Gala
2014-02-07 16:10           ` Peter Zijlstra
2014-02-07 16:10             ` Peter Zijlstra
2014-02-10  3:05           ` Benjamin Herrenschmidt
2014-02-10  3:05             ` Benjamin Herrenschmidt
2014-02-10  3:02         ` Benjamin Herrenschmidt
2014-02-10  3:02           ` Benjamin Herrenschmidt

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=52F3E255.5050906@gmail.com \
    --to=tommusta@gmail.com \
    --cc=anton@samba.org \
    --cc=duwe@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.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.