From: James Clark <james.clark@arm.com>
To: Leo Yan <leo.yan@linaro.org>
Cc: linux-perf-users@vger.kernel.org, tanmay@marvell.com,
sgoutham@marvell.com, gcherian@marvell.com, lcherian@marvell.com,
bbhushan2@marvell.com, German Gomez <german.gomez@arm.com>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>,
John Garry <john.g.garry@oracle.com>,
Will Deacon <will@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 4/7] perf pmu: Add function to check if a pmu file exists
Date: Tue, 3 Jan 2023 16:22:11 +0000 [thread overview]
Message-ID: <150442e1-4717-2b18-8f7d-febbd95ae570@arm.com> (raw)
In-Reply-To: <Y6VKEfsGu0Pteb8e@leoy-yangtze.lan>
On 23/12/2022 06:26, Leo Yan wrote:
> On Thu, Dec 22, 2022 at 04:03:24PM +0000, James Clark wrote:
>> From: German Gomez <german.gomez@arm.com>
>>
>> Add a utility function perf_pmu__file_exists() to check if a given pmu
>> file exists in the sysfs filesystem.
>>
>> Signed-off-by: German Gomez <german.gomez@arm.com>
>> Signed-off-by: James Clark <james.clark@arm.com>
>> ---
>> tools/perf/util/pmu.c | 14 ++++++++++++++
>> tools/perf/util/pmu.h | 2 ++
>> 2 files changed, 16 insertions(+)
>>
>> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
>> index 15b852b3c401..b72b2d892949 100644
>> --- a/tools/perf/util/pmu.c
>> +++ b/tools/perf/util/pmu.c
>> @@ -1739,6 +1739,20 @@ int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt,
>> return ret;
>> }
>>
>> +bool perf_pmu__file_exists(struct perf_pmu *pmu, const char *name)
>> +{
>> + char path[PATH_MAX];
>> + struct stat statbuf;
>> +
>> + if (!perf_pmu__pathname_scnprintf(path, PATH_MAX, pmu->name, name))
>> + return false;
>> +
>> + if (!file_available(path))
>> + return false;
>> +
>> + return stat(path, &statbuf) == 0;
>
> Can we simply return the returned value from file_available() and skip
> calling stat()? Because file_available() invokes access() to detect if
> a file is existed or not, so here calling stat() is redundant.
>
Yep that works. Fixed in V3.
next prev parent reply other threads:[~2023-01-03 16:24 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-22 16:03 [PATCH v2 0/7] perf cs_etm: Basic support for virtual/kernel timestamps James Clark
2022-12-22 16:03 ` [PATCH v2 1/7] perf: Remove duplication around EVENT_SOURCE_DEVICE_PATH James Clark
2022-12-23 2:39 ` Leo Yan
2023-01-03 16:21 ` James Clark
2022-12-22 16:03 ` [PATCH v2 2/7] perf: Use perf_pmu__open_file() and perf_pmu__scan_file() James Clark
2022-12-23 3:45 ` Leo Yan
2022-12-23 3:59 ` Leo Yan
2023-01-03 16:21 ` James Clark
2022-12-22 16:03 ` [PATCH v2 3/7] perf: Remove remaining duplication of bus/event_source/devices/ James Clark
2022-12-23 6:10 ` Leo Yan
2022-12-22 16:03 ` [PATCH v2 4/7] perf pmu: Add function to check if a pmu file exists James Clark
2022-12-23 6:26 ` Leo Yan
2023-01-03 16:22 ` James Clark [this message]
2022-12-22 16:03 ` [PATCH v2 5/7] perf cs_etm: Keep separate symbols for ETMv4 and ETE parameters James Clark
2022-12-23 9:54 ` Mike Leach
2022-12-22 16:03 ` [PATCH v2 6/7] perf cs_etm: Record ts_source in AUXTRACE_INFO for ETMv4 and ETE James Clark
2022-12-23 9:28 ` Mike Leach
2023-01-03 11:49 ` James Clark
2023-01-03 15:15 ` Suzuki K Poulose
2022-12-22 16:03 ` [PATCH v2 7/7] perf cs_etm: Set the time field in the synthetic samples James Clark
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=150442e1-4717-2b18-8f7d-febbd95ae570@arm.com \
--to=james.clark@arm.com \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=bbhushan2@marvell.com \
--cc=coresight@lists.linaro.org \
--cc=gcherian@marvell.com \
--cc=german.gomez@arm.com \
--cc=john.g.garry@oracle.com \
--cc=jolsa@kernel.org \
--cc=lcherian@marvell.com \
--cc=leo.yan@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.poirier@linaro.org \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=sgoutham@marvell.com \
--cc=suzuki.poulose@arm.com \
--cc=tanmay@marvell.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®