From: Jiri Olsa <jolsa@redhat.com>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Stephane Eranian <eranian@google.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-perf-users@vger.kernel.org
Subject: Re: [PATCH 07/10] perf record: Support synthesizing cgroup events
Date: Fri, 6 Mar 2020 15:15:28 +0100 [thread overview]
Message-ID: <20200306141528.GD290743@krava> (raw)
In-Reply-To: <20200306141404.GC290743@krava>
On Fri, Mar 06, 2020 at 03:14:09PM +0100, Jiri Olsa wrote:
> On Mon, Feb 24, 2020 at 01:37:46PM +0900, Namhyung Kim wrote:
>
> SNIP
>
> > + d = opendir(path);
> > + if (d == NULL) {
> > + pr_debug("failed to open directory: %s\n", path);
> > + return -1;
> > + }
> > +
> > + while ((dent = readdir(d)) != NULL) {
> > + if (dent->d_type != DT_DIR)
> > + continue;
> > + if (!strcmp(dent->d_name, ".") ||
> > + !strcmp(dent->d_name, ".."))
> > + continue;
> > +
> > + /* any sane path should be less than PATH_MAX */
> > + if (strlen(path) + strlen(dent->d_name) + 1 >= PATH_MAX)
> > + continue;
> > +
> > + if (path[pos - 1] != '/')
> > + strcat(path, "/");
> > + strcat(path, dent->d_name);
> > +
> > + ret = perf_event__walk_cgroup_tree(tool, event, path,
> > + mount_len, process, machine);
> > + if (ret < 0)
> > + break;
> > +
> > + path[pos] = '\0';
> > + }
> > +
> > + closedir(d);
> > + return ret;
> > +}
> > +
> > +int perf_event__synthesize_cgroups(struct perf_tool *tool,
> > + perf_event__handler_t process,
> > + struct machine *machine)
> > +{
> > + union perf_event event;
> > + char cgrp_root[PATH_MAX];
> > + size_t mount_len; /* length of mount point in the path */
> > +
> > + if (cgroupfs__mountpoint(cgrp_root, PATH_MAX, "perf_event") < 0) {
> > + pr_debug("cannot find cgroup mount point\n");
> > + return -1;
> > + }
> > +
> > + mount_len = strlen(cgrp_root);
> > + /* make sure the path starts with a slash (after mount point) */
> > + strcat(cgrp_root, "/");
>
> the code above checks on this and seems to add '/' if needed,
> is this strcat necessary?
nah nevermind.. it's the recursive call check above, ok
jirka
next prev parent reply other threads:[~2020-03-06 14:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-24 4:37 [PATCHSET 00/10] perf: Improve cgroup profiling (v5) Namhyung Kim
2020-02-24 4:37 ` [PATCH 01/10] perf/core: Add PERF_RECORD_CGROUP event Namhyung Kim
2020-02-24 4:37 ` [PATCH 02/10] perf/core: Add PERF_SAMPLE_CGROUP feature Namhyung Kim
2020-02-24 4:37 ` [PATCH 03/10] tools lib api fs: Move cgroupsfs__mountpoint() Namhyung Kim
2020-02-24 4:37 ` [PATCH 04/10] perf tools: Basic support for CGROUP event Namhyung Kim
2020-02-24 4:37 ` [PATCH 05/10] perf tools: Maintain cgroup hierarchy Namhyung Kim
2020-02-24 4:37 ` [PATCH 06/10] perf report: Add 'cgroup' sort key Namhyung Kim
2020-03-06 14:10 ` Jiri Olsa
2020-02-24 4:37 ` [PATCH 07/10] perf record: Support synthesizing cgroup events Namhyung Kim
2020-03-06 14:14 ` Jiri Olsa
2020-03-06 14:15 ` Jiri Olsa [this message]
2020-02-24 4:37 ` [PATCH 08/10] perf record: Add --all-cgroups option Namhyung Kim
2020-02-24 4:37 ` [PATCH 09/10] perf top: " Namhyung Kim
2020-02-24 4:37 ` [PATCH 10/10] perf script: Add --show-cgroup-events option Namhyung Kim
2020-03-06 15:05 ` [PATCHSET 00/10] perf: Improve cgroup profiling (v5) Jiri Olsa
2020-03-22 23:58 ` Namhyung Kim
2020-03-24 16:34 ` Tejun Heo
2020-03-24 20:15 ` Peter Zijlstra
2020-03-24 21:24 ` Arnaldo Melo
2020-03-25 10:24 ` Namhyung Kim
2020-03-25 12:17 ` Arnaldo Carvalho de Melo
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=20200306141528.GD290743@krava \
--to=jolsa@redhat.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@kernel.org \
--cc=namhyung@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.