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 <[email protected]>
>>>>> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel