[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <23A87C03-EB55-49A1-BB55-B6136117F0B6@gmail.com>
Date: Thu, 2 May 2024 14:42:38 +0900
From: "D. Jeff Dionne" <djeffdionne@...il.com>
To: paulmck@...nel.org
Cc: John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>,
linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org, elver@...gle.com,
akpm@...ux-foundation.org, tglx@...utronix.de, peterz@...radead.org,
dianders@...omium.org, pmladek@...e.com, arnd@...db.de,
torvalds@...ux-foundation.org, kernel-team@...a.com,
Andi Shyti <andi.shyti@...ux.intel.com>,
Palmer Dabbelt <palmer@...osinc.com>,
Masami Hiramatsu <mhiramat@...nel.org>, linux-sh@...r.kernel.org
Subject: Re: [PATCH v2 cmpxchg 12/13] sh: Emulate one-byte cmpxchg
On May 2, 2024, at 14:07, Paul E. McKenney <paulmck@...nel.org> wrote:
> That would be 8-bit xchg() rather than 8-byte cmpxchg(), correct?
>
> Or am I missing something subtle here that makes sh also support one-byte
> (8-bit) cmpxchg()?
The native SH atomic operation is test and set TAS.B. J2 adds a compare and swap CAS.L instruction, carefully chosen for patent free prior art (s360, IIRC).
The (relatively expensive) encoding space we allocated for CAS.L does not contain size bits.
Not all SH4 patents had expired when J2 was under development, but now have (watch this space). Not sure (me myself) if there are more atomic operations in sh4.
Cheers,
J
>
> Thanx, Paul
Powered by blists - more mailing lists