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