On 8/1/22 10:02, will schmidt wrote: > On Sat, 2022-07-30 at 14:23 -0700, Stephane Eranian wrote: >> Hi Will. >> >> Power10 patch applied. >> Thanks for your contributions. > > Thanks! :-) > -Will
Hi Will Schmidt, Now that the patches for power 10 are in upstream libpfm repository are there matching papi patches for power10 support? I don't see anything in the upstream git repo (https://bitbucket.org/icl/papi/src/master/) or the pull requests for power10 support. -Will Cohen > > >> >> 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_verifica >>>>>>>> tion_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