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