From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: "Souza, Jose" <jose.souza@intel.com>
Cc: "intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>,
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Subject: Re: [PATCH 00/17] Add OA functionality to Xe
Date: Tue, 21 May 2024 21:42:49 -0700 [thread overview]
Message-ID: <85v8361mpi.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <8f86d8ea1d555e8261aab25bda0011ff96698522.camel@intel.com>
On Tue, 21 May 2024 09:29:51 -0700, Souza, Jose wrote:
>
> On Tue, 2024-05-21 at 09:10 -0700, Dixit, Ashutosh wrote:
> > On Tue, 21 May 2024 07:47:58 -0700, Souza, Jose wrote:
> >
> > Hi Jose,
> >
> > > > Other ask, can you remove this 'Failed to remove unknown OA config'
> > > > debug message from xe_oa_remove_config_ioctl()?
> > >
> > > Missed 'Insufficient privileges to remove xe OA config', that need to be
> > > removed too from xe_oa_remove_config_ioctl().
> > >
> > > > Mesa will be using DRM_XE_PERF_OP_REMOVE_CONFIG with config id set to
> > > > UINT64_MAX to detect if Xe KMD supports OA counters and if application
> > > > has enough permissions to use it. So it causes dmesg to be flooded
> > > > with 'xe 0000:00:02.0: [drm:xe_oa_remove_config_ioctl [xe]] Failed to
> > > > remove unknown OA config' messages when running tests suites.
> > > >
> > > > Or do you have other suggestion of uAPI that I can use.
Also, to return to the original issue, what exactly is the issue if dmesg
is getting flooded when runing tests? Maybe it's ok? Or if it is not, why
don't you turn off particular debug messages using
/sys/module/drm/parameters/debug?
So basically I don't want to tell you what to do or how to implement your
stuff (as long as you reciprocally don't ask us to make changes
either). The Xe uapi is exposed and userspace if free to use it however
they want.
So anyway, the discussion in this thread has come up with a few options,
which I can quickly summarize here:
* Live with the debug messages
* Turn debug messages off with /sys/module/drm/parameters/debug
* Query the OS for process capabilities or privileges
* Refactor the code to not need oa_metrics_available()
* Anything else? Another idea e.g. is to eventually convert debug messages
into dynamic debug which can be controlled at lower granularity iirc (so
e.g. you can turn off OA debug messages only but this needs some work).
So let's see where this goes :)
Thanks.
--
Ashutosh
> >
> > OK, so you are relying on ENODEV and EACCES errno's from
> > DRM_XE_PERF_OP_REMOVE_CONFIG to find out (a) if OA is present and (b) if
> > you need to be root (actually CAP_PERFMON or CAP_SYS_ADMIN).
>
> yep
>
> >
> > This logic in Xe should be close to what we have in i915? What does Mesa do
> > for i915, or what doesn't work in Xe?
> >
> > Here are some pointers:
> >
> > * You can execute DRM_XE_DEVICE_QUERY_OA_UNITS to see if OA is present
> >
> > * Add/remove OA configs and using the global OAG buffer (time based
> > sampling or DRM_XE_OA_PROPERTY_SAMPLE_OA set) are priviliged operations
> > (need root). Operations which only need OAR/OAC (OA queries, without
> > DRM_XE_OA_PROPERTY_SAMPLE_OA) can be executed by non-root.
> >
> > * If "/proc/sys/dev/xe/perf_stream_paranoid" is 0, all operations can be
> > executed by non-root users. Otherwise, as I described in the previous
> > point.
>
> It is possible that process not started by root has CAP_PERFMON:
>
> "Unprivileged processes with enabled CAP_PERFMON capability are treated
> as privileged processes with respect to perf_events performance
> monitoring and observability operations,..."
>
> And from what I understood only root can write to perf_stream_paranoid, so I don't see a point in having this file...
>
> >
> > So basically I think you just need to check for the perf_stream_paranoid
> > file above. It will tell you both (a) if OA is present (because we are
> > going to merge the code which creates this file together with OA) and (b)
> > if you need to be root for particular operations.
> >
> > Thanks.
> > --
> > Ashutosh
>
next prev parent reply other threads:[~2024-05-22 4:42 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-15 1:35 [PATCH 00/17] Add OA functionality to Xe Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 01/17] drm/xe/perf/uapi: "Perf" layer to support multiple perf counter stream types Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 02/17] drm/xe/perf/uapi: Add perf_stream_paranoid sysctl Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 03/17] drm/xe/oa/uapi: Add OA data formats Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 04/17] drm/xe/oa/uapi: Initialize OA units Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 05/17] drm/xe/oa/uapi: Add/remove OA config perf ops Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 06/17] drm/xe/oa/uapi: Define and parse OA stream properties Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 07/17] drm/xe/oa: OA stream initialization (OAG) Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 08/17] drm/xe/oa/uapi: Expose OA stream fd Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 09/17] drm/xe/oa/uapi: Read file_operation Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 10/17] drm/xe/oa: Add OAR support Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 11/17] drm/xe/oa: Add OAC support Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 12/17] drm/xe/oa/uapi: Query OA unit properties Ashutosh Dixit
2024-04-24 23:26 ` Dixit, Ashutosh
2024-04-25 13:10 ` Lucas De Marchi
2024-03-15 1:35 ` [PATCH 13/17] drm/xe/oa/uapi: OA buffer mmap Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 14/17] drm/xe/oa: Add MMIO trigger support Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 15/17] drm/xe/oa: Override GuC RC with OA on PVC Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 16/17] drm/xe/oa: Changes to OA_TAKEN Ashutosh Dixit
2024-03-15 1:35 ` [PATCH 17/17] drm/xe/oa: Enable Xe2+ overrun mode Ashutosh Dixit
2024-03-15 1:53 ` ✓ CI.Patch_applied: success for Add OA functionality to Xe (rev13) Patchwork
2024-03-15 1:53 ` ✗ CI.checkpatch: warning " Patchwork
2024-03-15 1:54 ` ✓ CI.KUnit: success " Patchwork
2024-03-15 2:05 ` ✓ CI.Build: " Patchwork
2024-03-15 2:07 ` ✗ CI.Hooks: failure " Patchwork
2024-03-15 2:08 ` ✓ CI.checksparse: success " Patchwork
2024-03-15 2:34 ` ✓ CI.BAT: " Patchwork
2024-05-17 18:42 ` [PATCH 00/17] Add OA functionality to Xe Souza, Jose
2024-05-18 1:42 ` Dixit, Ashutosh
2024-05-21 14:43 ` Souza, Jose
2024-05-21 14:47 ` Souza, Jose
2024-05-21 16:10 ` Dixit, Ashutosh
2024-05-21 16:29 ` Souza, Jose
2024-05-21 16:43 ` Dixit, Ashutosh
2024-05-21 17:39 ` Souza, Jose
2024-05-21 18:02 ` Dixit, Ashutosh
2024-05-21 18:11 ` Dixit, Ashutosh
2024-05-21 19:01 ` Souza, Jose
2024-05-21 18:48 ` Souza, Jose
2024-05-21 20:24 ` Dixit, Ashutosh
2024-05-21 21:00 ` Souza, Jose
2024-05-22 2:28 ` Dixit, Ashutosh
2024-05-22 16:08 ` Souza, Jose
2024-05-22 4:42 ` Dixit, Ashutosh [this message]
2024-05-22 16:13 ` Souza, Jose
2024-05-22 18:50 ` Dixit, Ashutosh
2024-05-22 19:30 ` Souza, Jose
2024-05-25 1:16 ` Dixit, Ashutosh
2024-05-27 17:02 ` Souza, Jose
2024-05-21 19:58 ` Souza, Jose
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=85v8361mpi.wl-ashutosh.dixit@intel.com \
--to=ashutosh.dixit@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=jose.souza@intel.com \
--cc=lionel.g.landwerlin@intel.com \
--cc=umesh.nerlige.ramappa@intel.com \
/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