Re: [PATCH RFC 0/3] Static calls

From: Josh Poimboeuf
Date: Fri Nov 09 2018 - 15:36:30 EST


On Fri, Nov 09, 2018 at 02:59:18PM -0500, Steven Rostedt wrote:
> On Fri, 9 Nov 2018 13:44:09 -0600
> Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
>
> > On Fri, Nov 09, 2018 at 02:37:03PM -0500, Steven Rostedt wrote:
> > > On Fri, 9 Nov 2018 11:05:51 -0800
> > > Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> > >
> > > > > Not sure what Andy was talking about, but I'm currently implementing
> > > > > tracepoints to use this, as tracepoints use indirect calls, and are a
> > > > > prime candidate for static calls, as I showed in my original RFC of
> > > > > this feature.
> > > > >
> > > > >
> > > >
> > > > Indeed.
> > > >
> > > > Although I had assumed that tracepoints already had appropriate jump label magic.
> > >
> > > It does. But that's not the problem I was trying to solve. It's that
> > > tracing took a 8% noise dive with retpolines when enabled (hackbench
> > > slowed down by 8% with all the trace events enabled compared to all
> > > trace events enabled without retpoline). That is, normal users (those
> > > not tracinng) are not affected by trace events slowing down by
> > > retpoline. Those that care about performance when they are tracing, are
> > > affected by retpoline, quite drastically.
> > >
> > > I'm doing another test run and measurements, to see how the unoptimized
> > > trampolines help, followed by the trampoline case.
> >
> > Are you sure you're using unoptimized? Optimized is the default on
> > x86-64 (with my third patch).
> >
>
> Yes, because I haven't applied that third patch yet ;-)
>
> Then I'll apply it and see how much that improves things.

Ah, good. That will be interesting to see the difference between
optimized/unoptimized.

--
Josh