Thread (121 messages) 121 messages, 13 authors, 2021-09-24

Re: [RFC] LKMM: Add volatile_if()

From: "Paul E. McKenney" <paulmck@kernel.org>
Date: 2021-06-07 15:27:17
Also in: linux-arch, lkml

On Mon, Jun 07, 2021 at 09:12:42AM -0500, Segher Boessenkool wrote:
On Sun, Jun 06, 2021 at 04:37:29PM -0700, Paul E. McKenney wrote:
quoted
quoted
quoted
The barrier() thing can work - all we need to do is to simply make it
impossible for gcc to validly create anything but a conditional
branch.
And the only foolproof way of doing that is by writing a branch.
[ ... ]
quoted
quoted
I am saying that if you depend on that some C code you write will result
in some particular machine code, without actually *forcing* the compiler
to output that exact machine code, then you will be disappointed.  Maybe
not today, and maybe it will take years, if you are lucky.

(s/forcing/instructing/ of course, compilers have feelings too!)
OK, I will bite...

What would you suggest as a way of instructing the compiler to emit the
conditional branch that we are looking for?
You write it in the assembler code.

Yes, it sucks.  But it is the only way to get a branch if you really
want one.  Now, you do not really need one here anyway, so there may be
some other way to satisfy the actual requirements.
Hmmm...  What do you see Peter asking for that is different than what
I am asking for?  ;-)

							Thanx, Paul
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help