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] [day] [month] [year] [list]
Message-ID: <CAP-5=fXY68WRiz3PVD19GBPg4t+_-f3pyLCwhdCDZHmQ=Aag3Q@mail.gmail.com>
Date: Wed, 9 Jul 2025 08:25:09 -0700
From: Ian Rogers <irogers@...gle.com>
To: peterz@...radead.org, mingo@...hat.com
Cc: linux-kernel@...r.kernel.org, Chun-Tse Shao <ctshao@...gle.com>, acme@...nel.org, 
	namhyung@...nel.org, mark.rutland@....com, alexander.shishkin@...ux.intel.com, 
	jolsa@...nel.org, adrian.hunter@...el.com, kan.liang@...ux.intel.com, 
	james.clark@...aro.org, howardchu95@...il.com, weilin.wang@...el.com, 
	linux-perf-users@...r.kernel.org
Subject: Re: [PATCH v4 1/2] perf: Reveal PMU type in fdinfo

On Tue, Jun 24, 2025 at 8:06 PM Ian Rogers <irogers@...gle.com> wrote:
>
> On Tue, Jun 3, 2025 at 11:16 AM Chun-Tse Shao <ctshao@...gle.com> wrote:
> >
> > It gives useful info on knowing which PMUs are reserved by this process.
> > Also add config which would be useful.
> > Testing cycles:
> >
> >   $ ./perf stat -e cycles &
> >   $ cat /proc/`pidof perf`/fdinfo/3
> >   pos:    0
> >   flags:  02000002
> >   mnt_id: 16
> >   ino:    3081
> >   perf_event_attr.type:   0
> >   perf_event_attr.config: 0
> >
> > Testing L1-dcache-load-misses:
> >
> >   $ ./perf stat -e L1-dcache-load-misses &
> >   $ cat /proc/`pidof perf`/fdinfo/3
> >   pos:    0
> >   flags:  02000002
> >   mnt_id: 16
> >   ino:    1072
> >   perf_event_attr.type:   3
> >   perf_event_attr.config: 65536
> >
> > Reviewed-by: Ian Rogers <irogers@...gle.com>
> > Signed-off-by: Chun-Tse Shao <ctshao@...gle.com>
>
> Ping.
>
> Thanks,
> Ian

Hi Peter and Ingo,

This small kernel change enables being able to better diagnose which
processes are using perf events for what. In the series it is used in
perf to blame EBUSY for PMUs like intel-pt on which processes are
using that PMU.
Are there issues that need resolving before the patch can be
considered for inclusion?

The original patch was sent in October 2024:
https://lore.kernel.org/lkml/20241031223948.4179222-2-ctshao@google.com/

Thanks,
Ian

> > ---
> > v4:
> >   Removed the first patch in v3 since it is merged.
> >   Retested to make sure the patch still work.
> >
> > v3: lore.kernel.org/20241106003007.2112584-2-ctshao@...gle.com
> >
> >  kernel/events/core.c | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> >
> > diff --git a/kernel/events/core.c b/kernel/events/core.c
> > index 95e703891b24..bad563692d63 100644
> > --- a/kernel/events/core.c
> > +++ b/kernel/events/core.c
> > @@ -56,6 +56,7 @@
> >  #include <linux/buildid.h>
> >  #include <linux/task_work.h>
> >  #include <linux/percpu-rwsem.h>
> > +#include <linux/seq_file.h>
> >
> >  #include "internal.h"
> >
> > @@ -7077,6 +7078,14 @@ static int perf_fasync(int fd, struct file *filp, int on)
> >         return 0;
> >  }
> >
> > +static void perf_show_fdinfo(struct seq_file *m, struct file *f)
> > +{
> > +       struct perf_event *event = f->private_data;
> > +
> > +       seq_printf(m, "perf_event_attr.type:\t%u\n", event->orig_type);
> > +       seq_printf(m, "perf_event_attr.config:\t%llu\n", (unsigned long long)event->attr.config);
> > +}
> > +
> >  static const struct file_operations perf_fops = {
> >         .release                = perf_release,
> >         .read                   = perf_read,
> > @@ -7085,6 +7094,7 @@ static const struct file_operations perf_fops = {
> >         .compat_ioctl           = perf_compat_ioctl,
> >         .mmap                   = perf_mmap,
> >         .fasync                 = perf_fasync,
> > +       .show_fdinfo            = perf_show_fdinfo,
> >  };
> >
> >  /*
> > --
> > 2.49.0.1204.g71687c7c1d-goog
> >

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ