lkml.org 
[lkml]   [2010]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] tracing: Cleanup the convoluted softirq tracepoints
    On Tue, 19 Oct 2010, Steven Rostedt wrote:
    > On Tue, 2010-10-19 at 21:49 +0200, Thomas Gleixner wrote:
    > > So that saves _TWO_ bytes of text and replaces:
    > >
    > > - 1e: 83 3d 00 00 00 00 00 cmpl $0x0,0x0(%rip) # 25 <test+0x25>
    > > - 25: 74 4d je 74 <test+0x74>
    > > + 1e: e9 00 00 00 00 jmpq 23 <test+0x23>
    > > + 23: eb 4d jmp 72 <test+0x72>
    > >
    > > So it trades a conditional vs. two jumps ? WTF ??
    >
    > Well, the one jmpq is noped out, and the jmp is non conditional. I've

    What are you smoking ?

    In case the trace point is enabled the jmpq is there, so it jumps to
    23 and jumps from there to 72.

    In case the trace point is disabled the jmpq is noped out, so it jumps
    to 72 directly.

    > always thought a non conditional jmp was faster than a conditional one,

    I always thought, that at least some of the stuff which comes from
    tracing folks makes some sense.

    > since there's no need to go into the branch prediction logic. The CPU
    > can simply skip to the code to jump next. Of counse, this pollutes the
    > I$.

    We might consult Mathieu for further useless blurb on how CPUs work
    around broken code.

    Thanks,

    tglx


    \
     
     \ /
      Last update: 2010-10-19 23:11    [W:2.571 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site