public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Palmer Dabbelt <palmer@rivosinc.com>
To: Andrea Parri <andrea@rivosinc.com>
Cc: Patrick O'Neill <patrick@rivosinc.com>,
	gcc-patches@gcc.gnu.org, jeffreyalaw@gmail.com,
	Vineet Gupta <vineetg@rivosinc.com>,
	Andrew Waterman <andrew@sifive.com>,
	kito.cheng@sifive.com, Daniel Lustig <dlustig@nvidia.com>,
	cmuellner@gcc.gnu.org, hboehm@google.com,
	gnu-toolchain@rivosinc.com
Subject: Re: [RFC] RISC-V: Add proposed Ztso atomic mappings
Date: Fri, 05 May 2023 12:18:12 -0700 (PDT)	[thread overview]
Message-ID: <mhng-d4ec6a46-16dd-4c04-9fd4-b9536284c636@palmer-ri-x1c9a> (raw)
In-Reply-To: <ZFVRI4/CXK8o4BPY@andrea>

On Fri, 05 May 2023 11:55:31 PDT (-0700), Andrea Parri wrote:
> On Fri, May 05, 2023 at 10:12:56AM -0700, Patrick O'Neill wrote:
>> The RISC-V Ztso extension currently has no effect on generated code.
>> With the additional ordering constraints guarenteed by Ztso, we can emit
>> more optimized atomic mappings than the RVWMO mappings.
>>
>> This patch implements Andrea Parri's proposed Ztso mappings ("Proposed
>> Mapping").
>>   https://github.com/preames/public-notes/blob/master/riscv-tso-mappings.rst
>>
>> LLVM has implemented this same mapping (Ztso is still behind a
>> experimental flag in LLVM, so there is *not* a defined ABI for this yet).
>>   https://reviews.llvm.org/D143076
>
> Given the recent patches/discussions, it seems worth pointing out the
> the Ztso mappings referred to above was designed to be compatible with
> the mappings in Table A.6 and that they are _not_ compatible with the
> mappings in Table A.7 or with a "subset" of A.7 (even assuming RVTSO).

I guess that brings up the question of what we should do about WMO/TSO 
compatibility.  IIUC the general plan has been that WMO binaries would 
be compatible with TSO binaries when run on TSO systems, and that TSO 
binaries would require TSO systems.

I suppose it would be possible to have TSO produce binaries that would 
run on WMO systems by just emitting a bunch of extra fences, but I don't 
think anyone wants that?

We've always just assumed that WMO binaries would be compatible with TSO 
binaries, but I don't think it's ever really been concretely discussed.  
Having an ABI break here wouldn't be the craziest idea as it'd let us 
fix some other issues, but that'd certainly need to be pretty widely 
discussed.

Do we have an idea of what A.7-compatible TSO mappings would look like?

  reply	other threads:[~2023-05-05 19:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-05 17:12 Patrick O'Neill
2023-05-05 18:55 ` Andrea Parri
2023-05-05 19:18   ` Palmer Dabbelt [this message]
2023-05-05 20:10     ` Andrea Parri
2023-05-05 21:42       ` Hans Boehm
2023-05-05 21:52         ` Andrew Waterman
2023-05-05 22:01         ` Andrea Parri
2023-07-17 21:28 ` [RFC v2] RISC-V: Add " Patrick O'Neill
2023-08-01  5:04   ` Jeff Law
2023-08-08 21:56     ` Patrick O'Neill
2023-08-08 21:52   ` [PATCH v3] " Patrick O'Neill
2023-08-08 21:54     ` Palmer Dabbelt
2023-08-10 21:14       ` [Committed] " Patrick O'Neill

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=mhng-d4ec6a46-16dd-4c04-9fd4-b9536284c636@palmer-ri-x1c9a \
    --to=palmer@rivosinc.com \
    --cc=andrea@rivosinc.com \
    --cc=andrew@sifive.com \
    --cc=cmuellner@gcc.gnu.org \
    --cc=dlustig@nvidia.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gnu-toolchain@rivosinc.com \
    --cc=hboehm@google.com \
    --cc=jeffreyalaw@gmail.com \
    --cc=kito.cheng@sifive.com \
    --cc=patrick@rivosinc.com \
    --cc=vineetg@rivosinc.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).