Messages in this thread | | | Date | Wed, 27 Nov 2013 11:42:31 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH] perf tools: Fix not finding kcore in buildid cache |
| |
Em Wed, Nov 27, 2013 at 12:52:47PM +0100, Ingo Molnar escreveu: > > * Adrian Hunter <adrian.hunter@intel.com> wrote: > > > On 27/11/13 13:32, Ingo Molnar wrote: > > > > > > * Adrian Hunter <adrian.hunter@intel.com> wrote: > > > > > >> On 26/11/13 18:15, Ingo Molnar wrote: > > >>> > > >>> * Adrian Hunter <adrian.hunter@intel.com> wrote: > > >>> > > >>>> The logic was not looking in the buildid cache for kcore > > >>>> if the host kernel buildid did not match the recorded > > >>>> kernel buildid. > > >>> > > >>> It would be nice to also include the specific failure mode in the > > >>> changelog: exactly how can users run into this. That will be more > > >>> useful to most people reading these changelogs than a more abstract > > >>> bug description. > > >> > > >> The preconditions for the problem are that kcore is in the buildid > > >> cache and that the running kernel has a different buildid e.g. > > >> > > >> $ perf buildid-list | grep kernel.kallsyms > > >> b18fbe769dea12513028a4287dae02efc1582c29 [kernel.kallsyms] > > >> > > >> $ perf record -o /tmp/junk true >/dev/null 2>&1 ; perf buildid-list -i /tmp/junk | grep kernel.kallsyms > > >> 504f9fd9328c40714995ce76fe1354c6e90136ce [kernel.kallsyms] > > >> > > >> > > >> > > >> Before the patch: > > >> > > >> > > >> $ perf script -v >out.txt > > >> build id event received for [kernel.kallsyms]: b18fbe769dea12513028a4287dae02efc1582c29 > > >> <SNIP> > > >> Using /home/ahunter/.debug/[kernel.kallsyms]/b18fbe769dea12513028a4287dae02efc1582c29 for symbols > > >> > > >> perf script stopped > > >> > > >> > > >> After the patch: > > >> > > >> > > >> $ perf script -v >out.txt > > >> build id event received for [kernel.kallsyms]: b18fbe769dea12513028a4287dae02efc1582c29 > > >> <SNIP> > > >> Using /home/ahunter/.debug/[kernel.kcore]/b18fbe769dea12513028a4287dae02efc1582c29/2013112617084061/kcore for kernel object code > > >> Using /home/ahunter/.debug/[kernel.kcore]/b18fbe769dea12513028a4287dae02efc1582c29/2013112617084061/kallsyms for symbols > > >> > > >> perf script stopped > > > > > > So the result of the patch is that kernel symbols get > > > resolved/annotated correctly, as expected from the live kcore feature, > > > right? > > > > Yes but this is the non-live case i.e. the kernel has changed and we are > > looking at a special copy of kcore that we placed in the buildid cache > > (using "perf buildid-cache -v -k /proc/kcore") when the data was recorded. > > Okay.
Thanks for the questions and answers, I'll edit it and add to the patch.
- Arnaldo
| |