From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
To: Aravind Iddamsetty <aravind.iddamsetty@linux.intel.com>
Cc: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>,
Riana Tauro <riana.tauro@intel.com>,
<intel-xe@lists.freedesktop.org>, <anshuman.gupta@intel.com>,
<rodrigo.vivi@intel.com>, <krishnaiah.bommu@intel.com>,
<tvrtko.ursulin@igalia.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Subject: Re: [PATCH v9 0/2] drm/xe/pmu: Enable PMU interface
Date: Mon, 24 Jun 2024 16:23:12 -0700 [thread overview]
Message-ID: <Znn/4BP1pi/pipX7@orsosgc001> (raw)
In-Reply-To: <0b01375a-cd13-454f-bac8-f42d5e19cb22@linux.intel.com>
On Mon, Jun 24, 2024 at 03:57:18PM +0530, Aravind Iddamsetty wrote:
>
>On 22/06/24 00:02, Umesh Nerlige Ramappa wrote:
>> On Fri, Jun 21, 2024 at 09:59:11AM +0530, Aravind Iddamsetty wrote:
>>>
>>> On 21/06/24 00:45, Umesh Nerlige Ramappa wrote:
>>>> On Fri, Jun 14, 2024 at 08:34:30AM -0700, Dixit, Ashutosh wrote:
>>>>> On Thu, 13 Jun 2024 22:50:39 -0700, Riana Tauro wrote:
>>>>>>
>>>>>> Hi Ashutosh
>>>>>>
>>>>>> On 6/14/2024 12:09 AM, Dixit, Ashutosh wrote:
>>>>>> > On Thu, 13 Jun 2024 03:04:09 -0700, Riana Tauro wrote:
>>>>>> >>
>>>>>> >
>>>>>> > Hi Riana,
>>>>>> >
>>>>>> >> There are a set of engine group busyness counters provided by HW which are
>>>>>> >> perfect fit to be exposed via PMU perf events.
>>>>>> >>
>>>>>> >> BSPEC: 46559, 46560, 46722, 46729, 52071, 71028
>>>>>> >>
>>>>>> >> events can be listed using:
>>>>>> >> perf list
>>>>>> >> xe_0000_03_00.0/any-engine-group-busy-gt0/ [Kernel PMU event]
>>>>>> >> xe_0000_03_00.0/copy-group-busy-gt0/ [Kernel PMU event]
>>>>>> >> xe_0000_03_00.0/media-group-busy-gt0/ [Kernel PMU event]
>>>>>> >> xe_0000_03_00.0/render-group-busy-gt0/ [Kernel PMU event]
>>>>>> >
>>>>>> > PMU patches merged previously were dropped in 90a8b23f9b85 ("drm/xe/pmu:
>>>>>> > Remove PMU from Xe till uapi is finalized") because PMU uapi was expected
>>>>>> > to change. Why are we re-posting these old patches again now, without
>>>>>> > including the planned uapi changes?
>>>>>>
>>>>>> The uapi changes were dropped and there are no other upcoming changes for
>>>>>> Group busyness. So re-posted the old series.
>>>>>
>>>>> What happened to VF busyness (which is why I thought the uapi was going to
>>>>> change)?
>>>>
>>>> There are no plans to support group busyness from a VF, so we are just exporting group busyness to maintain parity with i915 for Native/PF behavior. The only change would be to expose the counters in ticks rather than ns. I still have to look at this series to see if that's happening.
>>>
>>> how will the counter ticks be used to get the busyness in time
>>
>> There will be no concept of "busyness in time units". User would just take 2 samples and calculate busyness as a percentage. The counters will be unitless. More info on equation here:
>> https://spec.oneapi.io/level-zero/1.9.3/sysman/api.html#_CPPv418zes_engine_stats_t
>>
>> Percent utilization is calculated by taking two snapshots (s1, s2) and using the equation:
>>
>> util = (s2.activeTime - s1.activeTime) / (s2.timestamp - s1.timestamp)
>>
>> Note that zesEngineGetActivity is used to get single as well as group engine busyness from the KMD.
>>
>> For single engine busyness, KMD will get the information from GuC and that would be a pair of counters - ActiveTicks and TotalActiveTicks corresponding to activeTime and timestamp in the above equation.
>>
>> For group engine busyness, we should follow the same semantics.
>
>does that mean that the counter itself doesn't have any relevance i mean it doesn't present any outcome to the user and rather one should use some formula to get a usable metric.
Correct.
>
>so from PMU interface point of view can we expose such a interface,
It's still a counter that ticks in one direction, so I believe we should
be okay using the PMU interface.
> my question because most of the interfaces I found in PMU are directly usable by user.
That's implementation specific. I don't see PMU imposing that
requirement on us. I agree that it would be intuitive to use the
counters directly, but this interface is required to work with SRIOV.
For example, in a VF, the user cannot use the single counter directly to
determine how busy an engine was. The user also needs to know what
fraction of wall time the VF ran for. That would help calculate per
VF/VM based engine utilization/percentage.
Regards,
Umesh
>
>Thanks,
>Aravind.
>>
>> Regards,
>> Umesh
>>
>>>
>>> Regards,
>>> Aravind.
>>>>
>>>> Regards,
>>>> Umesh
>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> Riana
>>>>>> >
>>>>>> > Thanks.
>>>>>> > --
>>>>>> > Ashutosh
prev parent reply other threads:[~2024-06-24 23:23 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 10:04 [PATCH v9 0/2] drm/xe/pmu: Enable PMU interface Riana Tauro
2024-06-13 9:57 ` ✓ CI.Patch_applied: success for drm/xe/pmu: Enable PMU interface (rev9) Patchwork
2024-06-13 9:57 ` ✗ CI.checkpatch: warning " Patchwork
2024-06-13 9:59 ` ✓ CI.KUnit: success " Patchwork
2024-06-13 10:04 ` [PATCH v9 1/2] drm/xe: Get GT clock to nanosecs Riana Tauro
2024-06-14 14:57 ` Lucas De Marchi
2024-06-13 10:04 ` [PATCH v9 2/2] drm/xe/pmu: Enable PMU interface Riana Tauro
2024-06-14 16:15 ` Lucas De Marchi
2024-06-14 16:38 ` Tvrtko Ursulin
2024-06-14 20:54 ` Ghimiray, Himal Prasad
2024-06-27 5:21 ` Riana Tauro
2024-06-20 19:52 ` Umesh Nerlige Ramappa
2024-06-27 6:49 ` Aravind Iddamsetty
2024-06-27 16:05 ` Umesh Nerlige Ramappa
2024-06-28 9:41 ` Aravind Iddamsetty
2024-06-28 16:36 ` Umesh Nerlige Ramappa
2024-06-28 15:55 ` Lucas De Marchi
2024-06-28 16:52 ` Umesh Nerlige Ramappa
2024-06-28 18:24 ` Lucas De Marchi
2024-06-28 18:49 ` Umesh Nerlige Ramappa
2024-06-13 10:11 ` ✓ CI.Build: success for drm/xe/pmu: Enable PMU interface (rev9) Patchwork
2024-06-13 10:13 ` ✗ CI.Hooks: failure " Patchwork
2024-06-13 10:14 ` ✓ CI.checksparse: success " Patchwork
2024-06-13 11:48 ` ✓ CI.BAT: " Patchwork
2024-06-13 18:39 ` [PATCH v9 0/2] drm/xe/pmu: Enable PMU interface Dixit, Ashutosh
2024-06-14 5:50 ` Riana Tauro
2024-06-14 15:34 ` Dixit, Ashutosh
2024-06-20 19:15 ` Umesh Nerlige Ramappa
2024-06-21 4:29 ` Aravind Iddamsetty
2024-06-21 18:32 ` Umesh Nerlige Ramappa
2024-06-24 10:27 ` Aravind Iddamsetty
2024-06-24 23:23 ` Umesh Nerlige Ramappa [this message]
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=Znn/4BP1pi/pipX7@orsosgc001 \
--to=umesh.nerlige.ramappa@intel.com \
--cc=anshuman.gupta@intel.com \
--cc=aravind.iddamsetty@linux.intel.com \
--cc=ashutosh.dixit@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=joonas.lahtinen@linux.intel.com \
--cc=krishnaiah.bommu@intel.com \
--cc=riana.tauro@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=tvrtko.ursulin@igalia.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