Re: [tip:perf/core] perf ui annotate browser: Allow toggling addr offset view

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Fri, Apr 13, 2012 at 11:30:52AM -0700, Linus Torvalds escreveu:
> On Fri, Apr 13, 2012 at 11:25 AM, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > <kmem_cache_free>:
> >    1.91 :          push   %rbp
> 
> Oh, btw, talking about kmem_cache_free: that one uses altinstructions,
> and so perf report shows the hottest instruction wrong (and I'm not
> talking about "ugly"):

Well, if we use Masami's disassembler we would use the actual code as it
is being used and not the original DSO that was later patched by
altinstructions.

We would have to dump it somehow in the ~/.debug/ cache so that we could
do offsite analysis, etc.

My plan is to move the objdump_line stuff to something that doesn't have
objdump in its name, i.e. something that would be generated by
disassembler sources.

The only now being binutils' objdump, but also Masami's disassembler and
probably elfutils eu-objdump after it implements a disassembler + adds
support for -debuginfo files, something that is needed to support
userspace with source code intermixed.
 
>    12.38 :        ffffffff810d7ee5:       lea    (%r8),%rsi
>     0.71 :        ffffffff810d7ee8:       callq  ffffffff812d3df0
> <this_cpu_cmpxchg16b_emu>
> 
> that "lea" really isn't very expensive. In reality, it's not
> "lea+call", it's a "lock ; cmpxchg16b + setz" instruction. But "perf"
> doesn't know about alternative instructions, and if somebody were to
> try to teach it, that would be lovely.
> 
> Happily, x86-64 doesn't have quite as many of them as x86-32 does. But
> they are there, sometimes in interesting functions.

>                  Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux