Hi Will,

Please send me the patches directly and I will review them soon.
I also want to make sure that the Power 10 PMU doc supporting the
patches is available to the public.

Thanks.

On Mon, Jul 18, 2022 at 9:00 AM William Cohen <wco...@redhat.com> wrote:
>
> On 5/12/22 15:40, will schmidt wrote:
> > On Wed, 2022-05-11 at 14:37 -0400, William Cohen wrote:
> >> On 5/10/22 16:52, will schmidt wrote:
> >>> On Wed, 2022-05-04 at 10:51 -0400, William Cohen wrote:
> >>>> On 2/23/22 14:42, will schmidt wrote:
> >>>>> On Wed, 2022-02-23 at 10:33 -0500, William Cohen wrote:
> >>>>>> On 2/18/22 17:17, will schmidt wrote:
> >>>>>>> Hi,
> >>>>>>>    I've created a fork of perfmon2/libpfm and pushed
> >>>>>>> the powerpc/power10 support into that fork.
> >>>>>>>
> >>>>>>>
> >>>>> <snippage>
> >>>>>> Also should there be some tests for the power10 PMU events added
> >>>>>> to
> >>>>>> tests/validate_power.c?
> >>>>>>
> >>>>>> -Will Cohen
> >>>>>>
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> I've spun up the changes to validate_power.c for power10, tested,
> >>>>> and pushed
> >>>>> them to my fork.
> >>>>>
> >>>>> [ I'm not familiar with the incantations, but the info
> >>>>> below should be sufficient to get at the patch :-)    ]
> >>>>>
> >>>>> https://sourceforge.net/u/willschm/perfmon2/ci/a3fd768a5879c93d43377b89450568c9fe9cb0d6/
> >>>>>
> >>>>> git clone https://git.code.sf.net/u/willschm/perfmon2 willschm-perfmon2
> >>>>>
> >>>>> commit a3fd768a5879c93d43377b89450568c9fe9cb0d6 (HEAD -> master,
> >>>>> origin/master, origin/HEAD,
> >>>>> refs/patches/master/pushed.perfmon_libpfm_update_verification_test.
> >>>>> diff
> >>>>> )
> >>>>> Author: Will Schmidt <will_schm...@vnet.ibm.com>
> >>>>> Date:   Wed Feb 23 12:34:30 2022 -0600
> >>>>>
> >>>>>     Add power10 to tests/validate_power.c
> >>>>>
> >>>>>     Update perfmon/tests/validate_power.c to add entries
> >>>>>     for power10.
> >>>>>     Tested successfully in a Power10 environment.
> >>>>>
> >>>>> Thanks
> >>>>> -Will
> >>>>>
> >>>>
> >>>> Hi,
> >>>>
> >>>> What is the status of these patches for power10?  They are still not
> >>>> in the upstream libpfm master git repository.
> >>>
> >>> Hi,
> >>>
> >>> A few minutes ago I pushed this patch to my perfmon fork.
> >>>
> >>> This particular commit is at
> >>> https://sourceforge.net/u/willschm/perfmon2/ci/60918a39237a0502fdd3de99a37d39a3d78100bb/
> >>>
> >>> with the tree itself available via
> >>> git clone https://git.code.sf.net/u/willschm/perfmon2 willschm-perfmon2
> >>>
> >>> The relevant detail within is:
> >>>
> >>> /*
> >>>  * Documentation on the PMU events for Power10 can be found
> >>>  * in Appendix E of the Power10 Users Manual.
> >>>  * The Power10 manual is at
> >>>  *    https://ibm.ent.box.com/v/power10usermanual
> >>>  * This and other PowerPC related documents can be found at
> >>>  *    https://www-50.ibm.com/systems/power/openpower/
> >>>  */
> >>>
> >>>
> >>> Thanks
> >>> -Will (Schmidt)
> >>>
> >>
> >> Hi Will Schmidt,
> >>
> >>
> >> Thanks for the update with the pointer to the power10 event documentation. 
> >>  I was looking though the patches and noticed that following patch has 
> >> PFM_PMU_POWER10 below the "/* MUST ADD NEW PMU MODELS HERE */" in 
> >> pfmlib.h. That comment should be adjacent to the PFM_PMU_MAX.
> >>
> >> https://sourceforge.net/u/willschm/perfmon2/ci/61697515bbc09d7568bd50665f3934bebc0c0485/
> >
> >
> > Corrected and pushed to the fork.
> >
> > https://sourceforge.net/u/willschm/perfmon2/ci/1db75b57c0ef6f8c9655059c7f033ddbd8908a4c/
> >
> >>
> >> What is the utility of the  enum power10_events? They are being used to 
> >> put the events in specific spots in the power10_pe[], but it looks like 
> >> the way things are generated
> >> that the entries would end up at those locations in the array anyway.  
> >> Eliminating those would reduce 
> >> https://sourceforge.net/u/willschm/perfmon2/ci/3d783a6db770885d5eddafb390faf146a64d0acd/
> >>  by 950+ lines.
> >
> > Done.    Changes made, 950+ lines eliminated.   Verified it all still works 
> > OK.   This also touched each of the structure entries to remove the 
> > constants.
> > Changes pushed to fork.
> >
> >
> >>
> >> The POWER9 has descriptions (.pme_sort_desc and .pme_long_desc) for 
> >> virtually all the events.  For POWER10 some of the events don't have 
> >> descriptions.  The _ALTx event don't have a descriptions, but the first 
> >> event has a description.  Like:
> >>
> >
> >
> > Corrected, changes pushed to fork ( this change was included in the commit 
> > that eliminated the enum).
> > https://sourceforge.net/u/willschm/perfmon2/ci/1e61e646068c4e6678bfdbea30689831ab52bee7
> >
> >
> >
> > That should complete the correction of all of the issues that were 
> > identified so far.  Thanks for the review, etc.
> >
> >
> > https://sourceforge.net/u/willschm/perfmon2/ci/1e61e646068c4e6678bfdbea30689831ab52bee7/log/?path=
> >
> >
> >
> > Thanks
> > -Will (Schmidt)
>
> Hi Will Schmidt and Stephane,
>
> The power10 patches look reasonable with the remove of the unneeded defines 
> and the inclusion of a pointer to power 10 PMU.
> Stephane, do the patches need to be combined into a single patch or would it 
> be acceptable to pull the patches from Will Schmidt's branch?
>
> IIRC a thread about z series patches that have been pulled into libpfm said 
> there was going to be a new release of libpfm.  Would it be possible to have 
> the release after the power10 patches are pulled into libpfm?
>
> -Will
>
>
> >
> >
> >>
> >> +[ POWER10_PME_PM_DATA_FROM_DL2L3_MOD ] = {
> >> +    .pme_name = "PM_DATA_FROM_DL2L3_MOD",
> >> +    .pme_code = 0x0E4240000001C040,
> >> +    .pme_short_desc = "Data Source;The processor's L1 data cache was 
> >> reloaded with a line in the M (exclusive) state from another core's L2 or 
> >> L3 from a distant chip due to a demand miss.",
> >> +    .pme_long_desc = "Data Source;The processor's L1 data cache was 
> >> reloaded with a line in the M (exclusive) state from another core's L2 or 
> >> L3 from a distant chip due to a demand miss.",
> >> +},
> >> +[ POWER10_PME_PM_DATA_FROM_DL2L3_MOD_PMC2 ] = {
> >> +    .pme_name = "PM_DATA_FROM_DL2L3_MOD_ALT2",
> >> +    .pme_code = 0x0E4240000002C040,
> >> +    .pme_short_desc = "",
> >> +    .pme_long_desc = "",
> >> +},
> >> +[ POWER10_PME_PM_DATA_FROM_DL2L3_MOD_PMC3 ] = {
> >> +    .pme_name = "PM_DATA_FROM_DL2L3_MOD_ALT3",
> >> +    .pme_code = 0x0E4240000003C040,
> >> +    .pme_short_desc = "",
> >> +    .pme_long_desc = "",
> >> +},
> >> +[ POWER10_PME_PM_DATA_FROM_DL2L3_MOD_PMC4 ] = {
> >> +    .pme_name = "PM_DATA_FROM_DL2L3_MOD_ALT4",
> >> +    .pme_code = 0x0E4240000004C040,
> >> +    .pme_short_desc = "",
> >> +    .pme_long_desc = "",
> >> +},
> >>
> >>
> >> -Will Cohen
> >>
> >
>


_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to