Re: [PATCH v3] tty: tty_io: remove hung_up_tty_fops

From: Paul E. McKenney
Date: Wed May 01 2024 - 18:32:44 EST


On Wed, May 01, 2024 at 02:49:17PM -0700, Paul E. McKenney wrote:
> On Wed, May 01, 2024 at 02:20:35PM -0700, Linus Torvalds wrote:
> > On Wed, 1 May 2024 at 14:06, Linus Torvalds
> > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

[ . . . ]

> > I'd love to see an extension where "const volatile" basically means
> > exactly that: the volatile tells the compiler that it can't
> > rematerialize by doing the load multiple times, but the "const" would
> > say that if the compiler sees two or more accesses, it can still CSE
> > them.

Except that "const volatile" already means "you cannot write to it,
and reads will not be fused". :-/

> No promises, other than that if we don't ask, they won't say "yes".
>
> Let me see what can be done.

>From a semantics viewpoint __atomic_load_n(&x, __ATOMIC_RELAXED) would
work for loading from x. The compilers that I tried currently do not
fuse loads, but they are allowed to do so.

Or is there something I am missing that would make this not work?
Aside from compilers not yet optimizing this case.

Thanx, Paul