lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 12 Feb 2015 15:36:58 +0900
From:	Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
To:	Arnaldo Carvalho de Melo <acme@...nel.org>
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: Re: [perf/core PATCH v2 3/4] perf buildid-cache: Add new buildid
 cache if update target is not cached

(2015/02/11 23:57), Arnaldo Carvalho de Melo wrote:
> 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'.

Right, if there is no same buildid cache, it does that.
Actually, this is a kind of middle point solution. As far as I can see,
buildid-cache is (currently) used for annotating the old, or remote perf.data.
In that case, we may have several different versions of buildid-cache(binaries)
for one pathname. If --update destructively updates all caches related to
given pathname, it also means to loose annotatability(?) on old or remote
perf.data. I think that may not the user wants.
So, if user really wants to clean up their cache, he/she can use --purge
(--remove-all).
And I think it would be better that --update just adds given current binary
to cache if there is no cache.

Thank you,


> 
> - 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/
> 


-- 
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@...achi.com


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

Powered by Openwall GNU/*/Linux Powered by OpenVZ