Hi Damjan,

ARM defines two sets of performance monitoring counters and extension
1. Common Event number and micro-architecture events defined by ARM which every 
chip vendor should implement.   
2. Chip vendor specific PMU counters other than (1)

I am not in ThunderX2 BU but I think the kernel driver you are referring to 
seems to be a PMU extension which falls under the category of (2) above. See 
below for OCTEONTX2 output

So for ARM to be enabled in perfmon plugin, I am thinking, 
- we need common bundle to register common ARM PMU events. This should be first 
step and include most of the useful/important events
- chip vendor specific bundle should also be allowed to "implementation 
defined" PMU events 

One of the key differentiation in ARM is a kernel driver needs to be hooked at 
runtime to allow VPP to get hold of PMU counters (which is not the case with 
x86)

>>> Can you capture contents of /sys/bus/event_source/devices/ from one system?
I do not have ThunderX2 access but here is the output of OCTEONTX2

$ ls -ltr /sys/bus/event_source/devices/
total 0
lrwxrwxrwx 1 root root 0 Dec 14 06:48 software -> ../../../devices/software
lrwxrwxrwx 1 root root 0 Dec 14 06:48 cs_etm -> ../../../devices/cs_etm
lrwxrwxrwx 1 root root 0 Dec 14 06:48 breakpoint -> ../../../devices/breakpoint
lrwxrwxrwx 1 root root 0 Dec 14 06:48 tracepoint -> ../../../devices/tracepoint
lrwxrwxrwx 1 root root 0 Dec 14 06:48 armv8_cavium_thunder -> 
../../../devices/armv8_cavium_thunder

Thanks,
Nitin




> -----Original Message-----
> From: Damjan Marion <dmar...@me.com>
> Sent: Monday, December 14, 2020 4:19 PM
> To: Nitin Saxena <nsax...@marvell.com>
> Cc: vpp-dev <vpp-dev@lists.fd.io>
> Subject: Re: [EXT] [vpp-dev] New perfmon plugin
> 
> 
> Isn’t there also uncore PMU? I can see some thunderx2 specific driver in
> kernel source.
> 
> Can you capture contents of /sys/bus/event_source/devices/ from one
> system?
> 
> Thanks,
> 
> —
> Damjan
> 
> 
> > On 14.12.2020., at 09:09, Nitin Saxena <nsax...@marvell.com> wrote:
> >
> > Yes most of the ARM processors including ThunderX2, OCTEONTX2 has
> PMU as per AARCH64 specifications. I did some analysis to add ARM support
> in older perfmon plugin and should be easy to port to this new one. This is
> something in TODO list which is much needed for us and overall ARM
> >
> > Thanks,
> > Nitin
> >
> >> -----Original Message-----
> >> From: Damjan Marion <dmar...@me.com>
> >> Sent: Saturday, December 12, 2020 7:46 PM
> >> To: Nitin Saxena <nsax...@marvell.com>
> >> Cc: vpp-dev <vpp-dev@lists.fd.io>
> >> Subject: Re: [EXT] [vpp-dev] New perfmon plugin
> >>
> >>
> >> cool, if I got it right ThunderX2 have
> >> own PMU so we can add it as new source and create specific bundles.
> >>
> >> --
> >> Damjan
> >>
> >>> On 12.12.2020., at 11:07, Nitin Saxena <nsax...@marvell.com> wrote:
> >>>
> >>> Hi Damjan,
> >>>
> >>> I was already fan of older perfmon plugin and new one seems superset
> >>> of the older one (at-least from video)
> >>>
> >>> Nice addition
> >>>
> >>> Thanks,
> >>> Nitin
> >>>
> >>>> -----Original Message-----
> >>>> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Damjan
> >>>> Marion via lists.fd.io
> >>>> Sent: Friday, December 11, 2020 9:44 PM
> >>>> To: vpp-dev <vpp-dev@lists.fd.io>
> >>>> Subject: [EXT] [vpp-dev] New perfmon plugin
> >>>>
> >>>> External Email
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> -
> >>>>
> >>>> Guys,
> >>>>
> >>>> I just submitted patch with the new perfmon plugin: [1]
> >>>>
> >>>> It takes significantly different approach compared to current one.
> >>>>
> >>>> - it support multiple sources of perf counters (linux, intel core,
> >>>> intel uncore) and it is extensible to other vendors
> >>>> - it have concept instances so it can monitor multiple instances of
> >>>> specific PMU (DRAM channels, UPI/QPU links, ..)
> >>>> - it supports node, thread and system metrics
> >>>> - different metrics are organized in bundles, where bundle consists
> >>>> of multiple counters and format functions which calculates and
> presents
> >> metric.
> >>>> Yuo can find example of bundle here [2]
> >>>>
> >>>> To se how this looks in action, I captured small asciinema video: [3]
> >>>>
> >>>> As this new plugin is significantly different than old one, I wonder
> >>>> if anyone thinks we should keep old une.
> >>>> Also, any other feedback is wellcome.
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Damjan
> >>>>
> >>>>
> >>>> [1] https://urldefense.proofpoint.com/v2/url?u=https-
> >>>> 3A__gerrit.fd.io_r_c_vpp_-
> >>>>
> >>
> 2B_30186&d=DwIFAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YOvfL3
> >>>>
> >>
> IkGduCfk9LbZMPOAecQGDzWV0&m=YLtsj5dRrH71jbO5dLDi4wZVjd_BZiWves
> >>>>
> g69AEyXxg&s=4tTXQv2yVPh7WGV5S1eL8TKk7hzW5hs9HV5HffGAZWg&e=
> >>>> [2] https://urldefense.proofpoint.com/v2/url?u=https-
> >>>> 3A__gerrit.fd.io_r_c_vpp_-
> >>>> 2B_30186_12_src_plugins_perfmon_intel_bundle_load-
> >>>>
> >>
> 5Fblocks.c&d=DwIFAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YOvfL3
> >>>>
> >>
> IkGduCfk9LbZMPOAecQGDzWV0&m=YLtsj5dRrH71jbO5dLDi4wZVjd_BZiWves
> >>>> g69AEyXxg&s=4vBJsKjTB2jgQ_knZlMqSPL9zu9r61mn_EDKfPaxP30&e=
> >>>> [3] https://urldefense.proofpoint.com/v2/url?u=https-
> >>>>
> >>
> 3A__asciinema.org_a_aFN5rMFYw0RPvGOZiFsziXV5w&d=DwIFAg&c=nKjWec
> >>>>
> >>
> 2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YOvfL3IkGduCfk9LbZMPOAecQGDzWV0
> >>>> &m=YLtsj5dRrH71jbO5dLDi4wZVjd_BZiWvesg69AEyXxg&s=OOSrE-
> >>>> xR_qMePcPBdjlV1FSyjeguxIFhIl7_W98ghFk&e=
> >>>
> >>>
> >>>
> >>>
> >
> > 
> >

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#18327): https://lists.fd.io/g/vpp-dev/message/18327
Mute This Topic: https://lists.fd.io/mt/78904118/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to