Re: [PATCH] perf tools: Fix not finding kcore in buildid cache

Ingo Molnar
2013-11-27T11:32:53Z

* 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?

Thanks,

Ingo