Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp2300180pxk; Mon, 14 Sep 2020 09:35:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzPU+UZcQM9hqnkvsXk4l/KHwfkbjjYORiOmooddvu8G3Pjh+58XlLAqqvgRw1xaG1/TBIC X-Received: by 2002:a17:906:4c58:: with SMTP id d24mr16198025ejw.108.1600101334367; Mon, 14 Sep 2020 09:35:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600101334; cv=none; d=google.com; s=arc-20160816; b=LBhjMnpyg2PV28M0ip2w6+sJysYXst6kXW4mdHSSmE/HujXaathPn9SQGZW3oYBZvS aNnDCUfkF2ViazNi10w++x1+aJS56vmPw0pgj0d8DnqMhRhj8J7y5nZqDe2aRoy0tdK+ 2/5m9mjXGVlGIrXkFRgH8LaLMJ23mY7w4J0KAs76v2aQha9q2YTS+ZFBzTwdI2h0xabC NpLwUd4UeRaeoW2BzOqMEGHvg6+nFPmCpjJnQT+d2fhHECwVCd4+3R/seMhadYrZpqY/ MuoEc+xfpTZJRAdiVjbcJ4idDyiJlKxPlAvMXK2iYU1DrspfOtcEBQSVExWMA8QWhbkk sP+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=yNgoK9/t/WqZ5iddRb+gwFHmTL8puDq8amhuPDGsasQ=; b=ZEN4xx8iLn775ZLLZ7LVeDGWt4BM54NC4XD0D7+B1Xf/9SFjvkcQtYSixXCgZgrLKE i2KqRfbEOleKEhNOUtwsG5G+rrk2GD9wfRYTaFqIPR+HVlRcmiJgQefjE7iB40dUlHpL YR+HdoppRe8Wy3PjTNdPSpO0ay8Gk2IvGZivdFx8ibdivOlc9euQnslZVMxZjjZY+br4 oT2kjYNE2+O3aE3XNhhy+UFXc+sjY4FNTE8QCdU7Vib82TIiRRQ2JfqVzf/+FLiL4yjy Qx1HwGGHiszABxaxBKPDR0/zhMORWDTaLkmZ49739EKRuaPCu7L3iIkA+Om9+gcXei2j xdDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=t72TagTS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q20si7146303ejx.248.2020.09.14.09.35.12; Mon, 14 Sep 2020 09:35:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=t72TagTS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726294AbgINQcN (ORCPT + 99 others); Mon, 14 Sep 2020 12:32:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:36562 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726525AbgINQNt (ORCPT ); Mon, 14 Sep 2020 12:13:49 -0400 Received: from quaco.ghostprotocols.net (unknown [179.97.37.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D4D13217BA; Mon, 14 Sep 2020 16:13:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1600100014; bh=LLsNtKG6f/12f6ktLZfNEa60v8YG85vBkY/r67WhjyE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=t72TagTSNpLIF89aV4wh8SjvZcu/FAV4xkDbEvcN8/nDmKYiSwAfQeouwMbKv9FDh enKS04cEXrtUEcMzaPF6/4fzrXnh/WF6BlIdNNcjQyuSRT55V7/BGro8NWFg1flEMS l7EaTK1rpznc3mLt/gtHN/66vw9KFscK6IAxN8Yk= Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id AC7D640D3D; Mon, 14 Sep 2020 13:13:31 -0300 (-03) Date: Mon, 14 Sep 2020 13:13:31 -0300 From: Arnaldo Carvalho de Melo To: Jiri Olsa Cc: lkml , Peter Zijlstra , Ingo Molnar , Mark Rutland , Namhyung Kim , Alexander Shishkin , Michael Petlan , Song Liu , "Frank Ch. Eigler" , Ian Rogers , Stephane Eranian , Alexey Budankov , Andi Kleen , Adrian Hunter Subject: Re: [PATCH 20/26] perf tools: Add build_id_cache__add function Message-ID: <20200914161331.GM160517@kernel.org> References: <20200913210313.1985612-1-jolsa@kernel.org> <20200913210313.1985612-21-jolsa@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200913210313.1985612-21-jolsa@kernel.org> X-Url: http://acmel.wordpress.com Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Sun, Sep 13, 2020 at 11:03:07PM +0200, Jiri Olsa escreveu: > Adding build_id_cache__add function as core function > that adds file into build id database. It will be > sed from another callers in following changes. More prep work generally useful, applying now. - Arnaldo > Signed-off-by: Jiri Olsa > --- > tools/perf/util/build-id.c | 42 ++++++++++++++++++++++++-------------- > tools/perf/util/build-id.h | 2 ++ > 2 files changed, 29 insertions(+), 15 deletions(-) > > diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c > index b281c97894e0..bf044e52ad1f 100644 > --- a/tools/perf/util/build-id.c > +++ b/tools/perf/util/build-id.c > @@ -668,24 +668,15 @@ static char *build_id_cache__find_debug(const char *sbuild_id, > return realname; > } > > -int build_id_cache__add_s(const char *sbuild_id, const char *name, > - struct nsinfo *nsi, bool is_kallsyms, bool is_vdso) > +int > +build_id_cache__add(const char *sbuild_id, const char *name, const char *realname, > + struct nsinfo *nsi, bool is_kallsyms, bool is_vdso) > { > const size_t size = PATH_MAX; > - char *realname = NULL, *filename = NULL, *dir_name = NULL, > - *linkname = zalloc(size), *tmp; > + char *filename = NULL, *dir_name = NULL, *linkname = zalloc(size), *tmp; > char *debugfile = NULL; > int err = -1; > > - if (!is_kallsyms) { > - if (!is_vdso) > - realname = nsinfo__realpath(name, nsi); > - else > - realname = realpath(name, NULL); > - if (!realname) > - goto out_free; > - } > - > dir_name = build_id_cache__cachedir(sbuild_id, name, nsi, is_kallsyms, > is_vdso); > if (!dir_name) > @@ -786,8 +777,6 @@ int build_id_cache__add_s(const char *sbuild_id, const char *name, > pr_debug4("Failed to update/scan SDT cache for %s\n", realname); > > out_free: > - if (!is_kallsyms) > - free(realname); > free(filename); > free(debugfile); > free(dir_name); > @@ -795,6 +784,29 @@ int build_id_cache__add_s(const char *sbuild_id, const char *name, > return err; > } > > +int build_id_cache__add_s(const char *sbuild_id, const char *name, > + struct nsinfo *nsi, bool is_kallsyms, bool is_vdso) > +{ > + char *realname = NULL; > + int err = -1; > + > + if (!is_kallsyms) { > + if (!is_vdso) > + realname = nsinfo__realpath(name, nsi); > + else > + realname = realpath(name, NULL); > + if (!realname) > + goto out_free; > + } > + > + err = build_id_cache__add(sbuild_id, name, realname, nsi, is_kallsyms, is_vdso); > + > +out_free: > + if (!is_kallsyms) > + free(realname); > + return err; > +} > + > static int build_id_cache__add_b(const u8 *build_id, size_t build_id_size, > const char *name, struct nsinfo *nsi, > bool is_kallsyms, bool is_vdso) > diff --git a/tools/perf/util/build-id.h b/tools/perf/util/build-id.h > index 2cf87b7304e2..6d1c7180047b 100644 > --- a/tools/perf/util/build-id.h > +++ b/tools/perf/util/build-id.h > @@ -50,6 +50,8 @@ char *build_id_cache__complement(const char *incomplete_sbuild_id); > int build_id_cache__list_build_ids(const char *pathname, struct nsinfo *nsi, > struct strlist **result); > bool build_id_cache__cached(const char *sbuild_id); > +int build_id_cache__add(const char *sbuild_id, const char *name, const char *realname, > + struct nsinfo *nsi, bool is_kallsyms, bool is_vdso); > int build_id_cache__add_s(const char *sbuild_id, > const char *name, struct nsinfo *nsi, > bool is_kallsyms, bool is_vdso); > -- > 2.26.2 > -- - Arnaldo