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

From: Boqun Feng
Date: Thu May 02 2024 - 12:38:00 EST


On Wed, May 01, 2024 at 03:32:34PM -0700, Paul E. McKenney wrote:
> 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.
>

Yeah, I wonder the same, from what I read, "const volatile" seems to
be just a (non-volatile) relaxed atomic load.

Regards,
Boqun

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