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

From: Paul E. McKenney
Date: Sat May 04 2024 - 14:18:51 EST


On Sat, May 04, 2024 at 10:50:29AM -0700, Linus Torvalds wrote:
> On Fri, 3 May 2024 at 22:08, Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
> >
> > You are right, this is going to need some arch-specific code for a few
> > of the architectures. Hey, I was hoping!!!
> >
> > The compilers do not currently optimize these things, but things appear
> > to me to be heading in that direction.
>
> Ok, so it sounds like right now it makes no sense - presumably
> __atomic_load_n() doesn't actually generate better code than
> READ_ONCE() does as-is, and we have the issue with having to make it
> per-architecture anyway.
>
> But maybe in a couple of years we can revisit this when / if it
> actually generates better code and is more widely applicable.

Completely agreed.

Here is my current thoughts for possible optimizations of non-volatile
memory_order_relaxed atomics:

o Loads from the same variable that can legitimately be
reordered to be adjacent to one another can be fused
into a single load.

o Stores to the same variable that can legitimately be
reordered to be adjacent to one another can be replaced
by the last store in the series.

o Loads and stores may not be invented.

o The only way that a computation based on the value from
a given load can instead use some other load is if the
two loads are fused into a single load.

Anything that I am missing?

Thanx, Paul