Thread (42 messages) 42 messages, 10 authors, 2016-02-10

Re: [PATCH v6 1/9] ppc64 (le): prepare for -mprofile-kernel

From: Torsten Duwe <hidden>
Date: 2016-02-03 11:24:53
Also in: lkml

On Wed, Feb 03, 2016 at 09:55:11AM +0100, Jiri Kosina wrote:
On Wed, 3 Feb 2016, AKASHI Takahiro wrote:
quoted
those efforts, we are proposing[1] a new *generic* gcc option, -fprolog-add=N.
This option will insert N nop instructions at the beginning of each function.
The interesting part of the story with ppc64 is that you indeed want to 
create the callsite before the *most* of the prologue, but not really :) 
I was silently assuming that GCC would do this right on ppc64le; add the NOPs
right after the TOC load. Or after TOC load and LR save? ...
The part of the prologue where TOC pointer is saved needs to happen before 
the fentry/profiling call.
Yes, any call, to any profiler/tracer/live patcher is potentially global
and needs the _new_ TOC value.

This proposal, if implemented in a too naive fashion, will worsen the problem
we currently discuss: a few NOPs _never_ cause any global reference. GCC might
be even more inclined to not load a new TOC value. That change would need to be
fairly smart on ppc64le.

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