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