Messages in this thread | | | Subject | Re: mailing list for trace users | From | Peter Zijlstra <> | Date | Tue, 22 Sep 2009 12:59:39 +0200 |
| |
On Tue, 2009-09-22 at 12:13 +0300, Avi Kivity wrote: > > Yes please. Here's a question to start it off - how to I 'perf > annotate' a symbol in a module? > > $ perf report > # Samples: 68202 > # > # Overhead Command Shared Object Symbol > # ........ ............... ............. ...... > # > 84.17% qemu-system-x86 [kernel] [k] vmx_vcpu_run > [kvm_intel] > 4.28% qemu-system-x86 [kernel] [k] > kvm_arch_vcpu_ioctl_run > [kvm] > 0.88% qemu-system-x86 [kernel] [k] add_preempt_count > 0.75% qemu-system-x86 [kernel] [k] > _spin_unlock_irqrestore > 0.68% qemu-system-x86 [kernel] [k] _spin_lock_irq > > $ perf annotate -k ~avi/kvm/linux-2.6/vmlinux -m vmx_vcpu_run > Error: symbol 'vmx_vcpu_run' not present amongst the samples. > > builtin symbols work.
We need a /proc/modules parser that then also locates and loads .ko files which aren't stripped.
I think Mike played around with that a bit.
The typical problem is that people use 'make INSTALL_MOD_STRIP=1 modules_install' to install their modules, because otherwise the initrd thingies explode, the side effect is that the !initrd modules are stripped too.
Ideally initrd tools should strip whatever they stick in. Then again, ideally we'd not have any initrd and modules crap to begin with ;-)
| |