lkml.org 
[lkml]   [2024]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2] perf/hx_arm_ni: Support uncore ARM NI-700 PMU
From
On 2024-02-01 2:40 am, Yang Jialong 杨佳龙 wrote:
>
>
> 在 2024/2/1 0:50, Robin Murphy 写道:
>> On 31/01/2024 7:08 am, JiaLong.Yang wrote:
>>> This code is based on uncore PMUs arm_smmuv3_pmu and arm-cmn.
>>> One ni-700 can have many clock domains. Each of them has only one PMU.
>>> Here one PMU corresponds to one 'struct ni_pmu' instance.
>>> PMU name will be ni_pmu_N_M, which N means different NI-700s and M means
>>> different PMU in one NI-700. If only one NI-700 found in NI-700, name
>>> will
>>> be ni_pmu_N.
>>> Node interface event name will be xxni_N_eventname, such as
>>> asni_0_rdreq_any. There are many kinds of type of nodes in one clock
>>> domain. Also means that there are many kinds of that in one PMU. So we
>>> distinguish them by xxni string. Besides, maybe there are many nodes
>>> have same type. So we have number N in event name.
>>> By ni_pmu_0_0/asni_0_rdreq_any/, we can pinpoint accurate bus traffic.
>>> Example1: perf stat -a -e
>>> ni_pmu_0_0/asni_0_rdreq_any/,ni_pmu_0_0/cycles/
>>> EXample2: perf stat -a -e ni_pmu_0_0/asni,id=0,event=0x0/
>>
>> Oh! I've had a driver for this thing sat around for ages waiting to
>> find someone with an interest in testing it. Given that from a quick
>> skim of this patch I'd also have several concerns with this
>> implementation, may I ask that you have a look at my branch and see if
>> it works for you?
>
> If permission I will test.

Thanks! I see you've also tried to support having the IRQs combined
together - does your platform need that right away? That's another thing
I've been anticipating but haven't got round to wiring up yet (it's a
bit more fiddly than just IRQF_SHARED since perf has some expectations
around affinity to event->cpu), but I can have a go at getting it done.

>>
>> https://gitlab.arm.com/linux-arm/linux-rm/-/tree/ni-dev?ref_type=heads
>>
>> In particular, after the pain of maintaining event aliases in arm-cmn
>> I'd really like to get away from doing that again and instead move
>> over to jevents this time (especially now that system PMU support is a
>> bit more developed there) - I just haven't yet got round to hooking up
>> the identifier and writing the JSON files, since it hasn't seemed like
>> much of a priority before I know whether the code even works.
>>
>
> It's a useful way.
> Uncore PMU is increasing. Not only CPU event can be writen in jevents.
> I have not considered it when writing code in a low version.
>
> Finally, I have opened a case in arm suppport for linux ni pmu driver.
> They tell me no driver.

Oh dear, sorry about that - I'd have hoped that a question about a Linux
PMU driver might have found its way to our team, even if they weren't
aware that NI-700 has already been a specific item on our roadmap for
some time :(

Thanks,
Robin.

\
 
 \ /
  Last update: 2024-05-27 14:46    [W:0.059 / U:1.448 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site