[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150211145742.GI24251@kernel.org>
Date: Wed, 11 Feb 2015 11:57:42 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Adrian Hunter <adrian.hunter@...el.com>,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
Paul Mackerras <paulus@...ba.org>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Borislav Petkov <bp@...e.de>,
Hemant Kumar <hemant@...ux.vnet.ibm.com>
Subject: Re: [perf/core PATCH v2 3/4] perf buildid-cache: Add new buildid
cache if update target is not cached
Em Wed, Feb 11, 2015 at 11:49:28AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Tue, Feb 10, 2015 at 06:18:56PM +0900, Masami Hiramatsu escreveu:
> > Add new buildid cache if the update target file is not cached.
> > This can happen when an old binary is replaced by new one
> > after caching the old one. In this case, user sees his operation
> > just failed. But it does not look straight, since user just
> > pass the binary "path", not "build-id".
> >
> > ----
> > # ./perf buildid-cache --add ./perf
> > (update ./perf to new binary)
> > # ./perf buildid-cache --update ./perf
> > ./perf wasn't in the cache
>
> Humm, without re-reading the original motivation for the '--update'
> operation I would think it was about finding all build-ids in the cache
> that are for a binary with that path, remove them and insert this new
> one, no?
>
> Checking...
commit eeb49845425375481f14c0e5721f88242642e88e
Author: Namhyung Kim <namhyung.kim@....com>
Date: Thu Feb 7 18:02:11 2013 +0900
perf buildid-cache: Add --update option
When adding vmlinux file to build-id cache, it'd be fail since kallsyms
dso with a same build-id was already added by perf record.
So one needs to remove the kallsyms first to add vmlinux into the cache.
Add --update option for doing it at once.
----------------------------------------------------------------------------------
So this was really a 'remove the file that is pointed by this build-id' and
replace with this new file, i.e. there is both a vmlinux _and_ a kallsyms file
for the same build-id. When wanting to use one or the other and existing a
link in the cache, one uses this --update thing.
That is ok for cases where there are multiple symtabs in the cache for a given
build-id, but as you mention above, it is confusing for updating by _pathname_.
What a 'update' by pathname would mean? I guess it would be to remove 'old',
i.e. 'not up-to-date' stuff, i.e. older build-ids that that pathname had in the
past, and leave just this new stuff.
The way you did it make '--update path' be equivalent to '--add path'.
- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists