Re: [PATCH 4/5] kmemtrace: SLUB hooks.

Mathieu Desnoyers
2008-08-11T18:33:31Z

* Steven Rostedt (rostedt@goodmis.org) wrote:
>
> On Mon, 11 Aug 2008, Christoph Lameter wrote:
>
> > Pekka Enberg wrote:
> >
> > > The function call is supposed to go away when we convert kmemtrace to
> > > use Mathieu's markers but I suppose even then we have a problem with
> > > inlining?
> >
> > The function calls are overwritten with NOPs? Or how does that work?
>
> I believe in the latest version they are just a variable test. But when
> Mathieu's immediate code makes it in (which it is in linux-tip), we will
> be overwriting the conditionals with nops (Mathieu, correct me if I'm
> wrong here).
>

The current immediate values in tip does a load immediate, test, branch,
which removes the cost of the memory load. We will try to get gcc
support to be able to declare patchable static jump sites, which could
be patched with NOPs when disabled. But that will probably not happen
"now".

Mathieu

> But the calls themselves are done in the unlikely branch. This is
> important, as Mathieu stated in previous thread. The reason is that all
> the stack setup for the function call is also in the unlikely branch, and
> the normal fast path does not take a hit for the function call setup.
>
> -- Steve
>

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68