On Wed, Oct 09, 2013 at 10:33:25AM +0300, Adrian Hunter wrote:
> On 08/10/13 17:02, Jiri Olsa wrote:
> > On Tue, Oct 08, 2013 at 11:45:50AM +0300, Adrian Hunter wrote:
> >> objdump fails to annotate module symbols when looking
> >> at kcore.  Workaround this by extracting object code
> >> from kcore and putting it in a temporary file for
> >> objdump to use instead.  The temporary file is created
> >> to look like kcore but contains only the function
> >> being disassembled.
> > 
> > Excited to ses this one, but looks like I'm hitting some
> > issue.  All annotation starts for me like this:
> > 
> >                                                                             
> >                            ▒
> >        │              Disassembly of section load0:                         
> >                                    ▒
> >        │                                                                    
> >                                    ▒
> >        │              ffffffff815eee80 <load0>:                             
> >                                    ◆
> >   9.33 │ffffffff815eee80:   data32 data32 data32 xchg %ax,%ax               
> >                                    
> > 
> > 
> > which does not seem right
> 
> Can you tell me the commits of the kernel and perf tools you
> were using, plus the commands and what symbol it was?

kernel: 3.9.10-100.fc17.x86_64
perf:   latest acme's perf/core (06de626 perf evlist: Fix 
perf_evlist__mmap_read event overflow )
        plus your V5 patches

commands:
  sudo ./perf record -e cycles:k -a 
  sudo ./perf report

---
Samples: 2K of event 'cycles:k', Event count (approx.): 445188286               
                                
 14.73%          swapper  [kernel.kallsyms]   [k] intel_idle                    
                               ◆
  3.19%                X  [kernel.kallsyms]   [k] smp_call_function_many        
                               ▒
  1.58%                X  [kernel.kallsyms]   [k] i915_gem_write_fence__ipi     
                               ▒
  1.58%          swapper  [kernel.kallsyms]   [k] iwl_trans_pcie_read32         
                               ▒


annotation of 1st 4 symbols:

---
intel_idle  /proc/kcore                                                         
                                
       │                                                                        
                               ▒
       │                                                                        
                               ▒
       │                                                                        
                               ▒
       │     Disassembly of section load0:                                      
                               ▒
       │                                                                        
                               ▒
       │     ffffffff8135f490 <load0>:                                          
                               ▒
  1.18 │       data32 data32 data32 xchg %ax,%ax                                
                               ▒


---
smp_call_function_many  /proc/kcore                                             
                                
       │                                                                        
                               ◆
       │                                                                        
                               ▒
       │                                                                        
                               ▒
       │     Disassembly of section load0:                                      
                               ▒
       │                                                                        
                               ▒
       │     ffffffff810bc270 <load0>:                                          
                               ▒
       │       data32 data32 data32 xchg %ax,%ax                                
                               ▒

---
i915_gem_write_fence__ipi  /proc/kcore                                          
                                
       │
       │
       │
       │    Disassembly of section load0:
       │
       │    ffffffffa0086630 <load0>:
       │      data32 data32 data32 xchg %ax,%ax

---
iwl_trans_pcie_read32  /proc/kcore                                              
                                
       │
       │
       │
       │    Disassembly of section load0:
       │
       │    ffffffffa0414a50 <load0>:
       │      data32 data32 data32 xchg %ax,%ax


the rest of the instruction decode differs.. just the first
line is same for all

addresses seem ok:

[jolsa@krava perf]$ egrep 
'ffffffff8135f490|ffffffff810bc270|ffffffffa0086630|ffffffffa0414a50' 
/proc/kallsyms 
ffffffff810bc270 T smp_call_function_many
ffffffff8135f490 t intel_idle
ffffffffa0414a50 t iwl_trans_pcie_read32        [iwlwifi]
ffffffffa0086630 t i915_gem_write_fence__ipi    [i915]

so.. the name of the section, name of the <function> plus the first
instruction decode seem wrong.. I can see that in every symbol I
annotate in the report and in annotate command as well.

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to