[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFwWt-hRSRqJRP6Wc67COZFZwpcMy4o06bRNBGnwW8QBFw@mail.gmail.com>
Date: Mon, 13 Nov 2017 15:54:24 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Rasmus Villemoes <linux@...musvillemoes.dk>
Cc: Patrick McLean <chutzpah@...too.org>,
Al Viro <viro@...iv.linux.org.uk>,
Bruce Fields <bfields@...hat.com>,
"Darrick J. Wong" <darrick.wong@...cle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux NFS Mailing List <linux-nfs@...r.kernel.org>,
stable <stable@...r.kernel.org>,
Thorsten Leemhuis <regressions@...mhuis.info>
Subject: Re: bit tweaks [was: Re: [nfsd4] potentially hardware breaking
regression in 4.14-rc and 4.13.11]
On Mon, Nov 13, 2017 at 3:30 PM, Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
>
> So let's just rewrite that mnt_flags conversion that way, justr to get
> gcc to generate the obvious code.
Oh wow. I tried to do the same thing in fs/namespace.c where it does
the reverse bit translation, and gcc makes a _horrible_ mess of it and
actually makes the code much worse because for some reason the pattern
doesn't trigger.
So this gcc optimization is apparently pretty damn fragile in general.
It triggers for the trivial cases, but then other code around it can
confuse it badly.
So I don't think I'll touch this, it seems to not be really reliably
something that makes gcc generate what should be the obvious code..
Linus
Powered by blists - more mailing lists