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