Hi, Yes, when I try to execute 'opreport --symbols --debug-info' command after doing profiling for a .c file (let operf ./test),
I am expecting 'test.c:line_no' in linear info field as you are getting 'exact_counts.c:13' in the following: samples % linenr info image name symbol name 10 66.6667 (no location information) no-vmlinux /no-vmlinux 2 13.3333 *exact_counts.c:13* exact_counts main 1 6.6667 *exact_counts.c:10* exact_counts f_65535x 1 6.6667 *exact_counts.c:9* exact_counts f_997x 1 6.6667 (no location information) ld-2.17.so _dl_fini I tried to install debuginfo using #debuginfo-install kernel command. But when I execute 'opreport --symbols --debug-info', I get only (no location information) in all of my samples. What may be the reason? On Thu, Mar 23, 2017 at 8:08 PM, Michael Petlan <mpet...@redhat.com> wrote: > On Thu, 23 Mar 2017, dhara buch wrote: > >> Hello, >> I am doing profiling with command, >> >> operf ./test --events=BR_INST_RETIRED >> where test.c is a simple c language file. >> >> then, I am trying to collect information with command >> >> opreport --symbols --debug-info >> >> From the documents of Oprofile, I assume that the above command lists >> profiling result as per the symbols i.e. I can get result showing samples, >> linear info, image name and symbol name. >> >> As per my command I expect my file name (test.c) to be in the linear info >> and image name, but shows [no location information] in linear info. The >> filename does not get listed in image >> name also. >> >> What is lacking? >> > > Hi, I think you need to rebuild the test with '-g' switch. > If the test binary does not have debuginfo, opreport cannot > resolve that. > > Me trying with debuginfo: > > samples % linenr info image name > symbol name > 10 66.6667 (no location information) no-vmlinux > /no-vmlinux > 2 13.3333 exact_counts.c:13 exact_counts main > 1 6.6667 exact_counts.c:10 exact_counts > f_65535x > 1 6.6667 exact_counts.c:9 exact_counts > f_997x > 1 6.6667 (no location information) ld-2.17.so > _dl_fini > > And without: > > samples % linenr info image name > symbol name > 10 55.5556 (no location information) no-vmlinux > /no-vmlinux > 3 16.6667 (no location information) exact_counts > f_65535x > 2 11.1111 (no location information) exact_counts main > 1 5.5556 (no location information) ld-2.17.so > _dl_add_to_slotinfo > 1 5.5556 (no location information) ld-2.17.so > _dl_next_tls_modid > 1 5.5556 (no location information) ld-2.17.so > _dl_relocate_object > > Is this the problem you are asking about? > > >> I tried to set vmlinux with operf --vmlinux option also where vmlinux >> file in in /usr/lib/debug/lib/4*/vmlinux, still the above commands do not >> list test file entries. >> > > The "--vmlinux" option is there for enabling this for samples > obtained in kernelspace. > > By default (assuming you have no kernel debuginfo available), > operf marks all the samples taken in kernel (e.g. your program > called a syscall and the sample was taken when the syscall was > being executed or you profile systemwide) as "no-vmlinux". > > This is sufficient if you care about userspace only and not about > the "time" spent in kernel. > > If you care about kernelspace, you need the '--vmlinux' option > with correct path specified. > > >> What is lacking? >> >> Thank you, >> >> Dhara buch >> >> >> > Has this helped? > > Cheers, > Michael > >
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel