Re: [RFC] LKMM: Add volatile_if()

From: Peter Zijlstra
Date: Fri Jun 04 2021 - 12:11:55 EST


On Fri, Jun 04, 2021 at 10:35:18AM -0500, Segher Boessenkool wrote:
> On Fri, Jun 04, 2021 at 01:44:37PM +0200, Peter Zijlstra wrote:
> > On naming (sorry Paul for forgetting that in the initial mail); while I
> > think using the volatile qualifier for the language feature (can we haz
> > plz, kthxbai) makes perfect sense, Paul felt that we might use a
> > 'better' name for the kernel use, ctrl_dep_if() was proposed.
>
> In standard C statements do not have qualifiers. Unless you can
> convince the ISO C committee to have them on "if", you will have a very
> hard time convincing any serious compiler to do this.

While some people like talking to the Committee, I would much rather
explore language extensions with the compiler communities. Such
extensions can then make their way into the Committee once they show
their usefulness.

The whole statement qualifier thing was something that was proposed by a
tools person, although I can't really remember who. I'm not much married
to it, but since it's been the only actual suggestion from a tools
person, it's stuck.

If you have another proposal on how to express this; one you'd rather
see implemented, I'm all ears.

But the fact is that we really do depend on this. And we seem to be
growing more of them, not less.

Data dependencies, control dependencies and address dependencies, C
doesn't really like them, we rely on them. It would be awesome if we can
fix this.