lkml.org 
[lkml]   [2016]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v3 3/7] perf tools: Remove the logical that skip buildid cache if symfs is given
    From
    Date
    hi

    在 2016/5/13 4:23, David Ahern 写道:
    > On 5/12/16 7:09 AM, Arnaldo Carvalho de Melo wrote:
    >> Em Thu, May 12, 2016 at 08:43:12AM +0000, He Kuang escreveu:
    >>> Symfs dir and buildid dir are two places that perf looks into for
    >>> symbols, currently, if symfs dir is given, buildid-cache is skipped.
    >>>
    >>> In the cross-platform perf record/script scenario, we need vdsos in
    >>> buildid-cache dir and other libs in symfs dir at the same time. And
    >>> consider that the binaries indexed by buildid do not cause ambiguity,
    >>> this patch simply removes that logical.
    >>
    >> Makes perfect sense, David, do you have any concern? Can I have your
    >> Acked-by?
    >
    > seems odd to me you want to look in the buildid-cache when a symfs is
    > given. The point of symfs was "go look for everything under here."
    >
    > I believe dso__load is going to hit DSO_BINARY_TYPE__BUILD_ID_CACHE
    > before any of the others and there are probably cases where a stale
    > cache entry would be hit before a build tree entry (e.g., symfs).

    Build id entries recorded in perf.data reflect the current dso,
    so if buildid is matched , how can it be a stale one?

    >
    > What about putting the build id cache under the symfs? so instead of
    > dropping the symfs check and it to the path for the build id cache.
    >
    >
    I think your intention is to reference symbol files in one place
    instead of two. So there're two possible approaches, one is all
    in buildid-cache, but in practice, I found lots of binaries in
    symfs even not contains valid buildid, so this way is not work.

    The other one is all in symfs. It seems ok, but one problem I
    should point out, with my test environment as an example, the
    symfsdir is $(TARGET_ROOTFS),and by default buildid_dir is
    $(TARGET_ROOTFS)/$(HOME)/.debug/, host perf does not know
    $(HOME) folder in target and we should copy the debug folder
    to $(TARGET_ROOTFS), which is readonly in the target. For me, it's
    easier to use 'buildid-cache -a vdso-xxxx' to add that into host
    buildid-cache than copy debug folder from $(HOME) to readonly
    $(TARGET_ROOTFS).

    Without the stale concern, I prefer the two places(buildid-dir in
    host and target symfs) way.

    Thanks.

    \
     
     \ /
      Last update: 2016-05-13 09:41    [W:2.391 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site