On Mon, Oct 16, 2017 at 11:28:53AM +0200, Jiri Olsa wrote: > On Fri, Oct 13, 2017 at 06:15:00PM +0800, Du, Changbin wrote: > > Hi Jiri, > > Sorry, missed you (but get_maintainer.pl doesn't list you). Here is ealier email. > > https://lkml.org/lkml/2017/9/12/158 > > > > Do you think if this is a real issue? > > SNIP > > > > 0.02 │ test %esi,%esi ▒ > > > │ ↓ js 25 ▒ > > > 99.98 │ ← retq ▒ > > > │25: push %rbp ▒ > > > │ mov $0x440a,%ecx ▒ > > > │ mov $0x440c,%edx ▒ > > > │ vmx_complete_interrupts(): ◆ > > > │ break; ▒ > > > │ } ▒ > > > │ } ▒ > > > │ ▒ > > > │ static void vmx_complete_interrupts(struct vcpu_vmx *vmx) ▒ > > > │ { ▒ > > > │ mov %rsp,%rbp ▒ > > > │ → callq __vmx_complete_interrupts.part.64 ▒ > > > │ __vmx_complete_interrupts(&vmx->vcpu, vmx->idt_vectoring_info, ▒ > > > │ pop %rbp ▒ > > > │ ← retq ▒ > > hi, > there's 'o' key to togle the instruction address or you > can use the perf annotate --stdio to get it.. should be > easier to tell if that's the same instruction > Thanks for replying. I know the reason now, the instructions are shown in pc address order, and some C statments are split into chunks. It gives me a illusion. Thanks. > jirka > -- Thanks, Changbin Du