Thread (45 messages) 45 messages, 9 authors, 2020-01-31

Re: [PATCH v3 5/6] x86/ftrace: Use text_poke()

From: Miroslav Benes <mbenes@suse.cz>
Date: 2020-01-22 12:15:57
Also in: lkml

On Tue, 21 Jan 2020, Josh Poimboeuf wrote:
On Tue, Jan 21, 2020 at 09:35:28AM +0100, Miroslav Benes wrote:
quoted
On Mon, 20 Jan 2020, Josh Poimboeuf wrote:
quoted
On Mon, Oct 21, 2019 at 10:05:49AM -0500, Josh Poimboeuf wrote:
quoted
On Wed, Oct 16, 2019 at 09:42:17AM +0200, Peter Zijlstra wrote:
quoted
quoted
which are not compatible with livepatching. GCC upstream now has
-flive-patching option, which disables all those interfering optimizations.
Which, IIRC, has a significant performance impact and should thus really
not be used...

If distros ship that crap, I'm going to laugh at them the next time they
want a single digit performance improvement because *important*.
I have a crazy plan to try to use objtool to detect function changes at
a binary level, which would hopefully allow us to drop this flag.

But regardless, I wonder if we enabled this flag prematurely.  We still
don't have a reasonable way to use it for creating source-based live
patches upstream, and it should really be optional for CONFIG_LIVEPATCH,
since kpatch-build doesn't need it.
I also just discovered that -flive-patching is responsible for all those
"unreachable instruction" objtool warnings which Randy has been
dutifully bugging me about over the last several months.  For some
reason it subtly breaks GCC implicit noreturn detection for local
functions.
Ugh, that is unfortunate. Have you reported it?
Not yet (but I plan to).
My findings so far...

I bisected through GCC options which -flive-patching disables and 
-fno-ipa-pure-const is the culprit. I got no warnings without the option 
with my config.

Then I found out allmodconfig was ok even with -flive-patching. 
CONFIG_GCOV is the difference. CONFIG_GCOV=y seems to make the warnings go 
away here.

/me goes staring
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help