perfmon2-devel Mailing List for perfmon2 (Page 3)
Status: Beta
Brought to you by:
seranian
You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(180) |
Dec
(100) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(114) |
Feb
(87) |
Mar
(103) |
Apr
(165) |
May
(151) |
Jun
(81) |
Jul
(148) |
Aug
(79) |
Sep
(86) |
Oct
(85) |
Nov
(33) |
Dec
(86) |
2009 |
Jan
(77) |
Feb
(71) |
Mar
(41) |
Apr
(53) |
May
(56) |
Jun
(127) |
Jul
(90) |
Aug
(112) |
Sep
(59) |
Oct
(78) |
Nov
(75) |
Dec
(70) |
2010 |
Jan
(97) |
Feb
(94) |
Mar
(92) |
Apr
(47) |
May
(116) |
Jun
(68) |
Jul
(53) |
Aug
(40) |
Sep
(111) |
Oct
(54) |
Nov
(81) |
Dec
(20) |
2011 |
Jan
(37) |
Feb
(90) |
Mar
(94) |
Apr
(15) |
May
(21) |
Jun
(6) |
Jul
(31) |
Aug
(27) |
Sep
(12) |
Oct
(5) |
Nov
(3) |
Dec
(1) |
2012 |
Jan
|
Feb
(2) |
Mar
(7) |
Apr
(25) |
May
(1) |
Jun
(13) |
Jul
(4) |
Aug
(13) |
Sep
(27) |
Oct
(4) |
Nov
(11) |
Dec
(11) |
2013 |
Jan
(14) |
Feb
(4) |
Mar
(4) |
Apr
(8) |
May
(11) |
Jun
(12) |
Jul
(6) |
Aug
(9) |
Sep
(8) |
Oct
(9) |
Nov
(19) |
Dec
(15) |
2014 |
Jan
(6) |
Feb
(13) |
Mar
(9) |
Apr
(35) |
May
(8) |
Jun
(10) |
Jul
|
Aug
(8) |
Sep
(40) |
Oct
(8) |
Nov
|
Dec
(21) |
2015 |
Jan
(6) |
Feb
(6) |
Mar
(9) |
Apr
(7) |
May
(6) |
Jun
(18) |
Jul
(22) |
Aug
(3) |
Sep
(3) |
Oct
(4) |
Nov
(18) |
Dec
(4) |
2016 |
Jan
(15) |
Feb
(21) |
Mar
(13) |
Apr
|
May
|
Jun
(11) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(2) |
2017 |
Jan
(1) |
Feb
(1) |
Mar
(4) |
Apr
(13) |
May
(6) |
Jun
(16) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(6) |
Dec
(10) |
2018 |
Jan
(6) |
Feb
(3) |
Mar
|
Apr
(6) |
May
(12) |
Jun
(4) |
Jul
|
Aug
(4) |
Sep
(1) |
Oct
(9) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
(5) |
Aug
|
Sep
|
Oct
(1) |
Nov
(9) |
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(14) |
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
|
May
(4) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2022 |
Jan
(1) |
Feb
(4) |
Mar
(1) |
Apr
|
May
(7) |
Jun
(4) |
Jul
(4) |
Aug
(13) |
Sep
|
Oct
(1) |
Nov
|
Dec
(6) |
2023 |
Jan
(2) |
Feb
|
Mar
(4) |
Apr
(2) |
May
(3) |
Jun
(3) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2024 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
(5) |
May
|
Jun
|
Jul
(4) |
Aug
(2) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: will s. <wil...@vn...> - 2022-08-03 18:51:26
|
[PATCH] PAPI, Power10 event list mappings. Hi, This patch provides the PAPI event mappings for Power10 support. This should be safe to commit once PAPI completes the pull requests from libpfm4 that will include the prerequisite Power10 content. diff --git a/src/papi_events.csv b/src/papi_events.csv index 4ef647959..d1c89d30b 100644 --- a/src/papi_events.csv +++ b/src/papi_events.csv @@ -1673,10 +1673,59 @@ PRESET,PAPI_BR_CN,DERIVED_SUB,PM_BR_CMPL,PM_BR_UNCOND PRESET,PAPI_BR_NTK,DERIVED_POSTFIX,N0|N1|-|,PM_BR_CMPL,PM_BR_TAKEN_CMPL PRESET,PAPI_BR_UCN,NOT_DERIVED,PM_BR_UNCOND PRESET,PAPI_BR_TKN,NOT_DERIVED,PM_BR_CORECT_PRED_TAKEN_CMPL PRESET,PAPI_FXU_IDL,NOT_DERIVED,PM_FXU_IDLE # +CPU,POWER10 +CPU,power10 +# +PRESET,PAPI_REF_CYC,NOT_DERIVED,PM_CYC_ALT3 +PRESET,PAPI_L1_DCM,NOT_DERIVED,PM_LD_MISS_L1 +PRESET,PAPI_L1_LDM,NOT_DERIVED,PM_LD_MISS_L1 +PRESET,PAPI_L1_STM,NOT_DERIVED,PM_ST_MISS_L1 +PRESET,PAPI_L1_DCW,DERIVED_SUB,PM_ST_FIN,PM_ST_MISS_L1 +PRESET,PAPI_L1_DCR,NOT_DERIVED,PM_LD_HIT_L1 +PRESET,PAPI_L1_DCA,DERIVED_ADD,PM_LD_REF_L1,PM_ST_CMPL +PRESET,PAPI_L2_DCM,NOT_DERIVED,PM_DATA_FROM_L2MISS +PRESET,PAPI_L2_LDM,NOT_DERIVED,PM_L2_LD_MISS +PRESET,PAPI_L2_STM,NOT_DERIVED,PM_L2_ST_MISS +PRESET,PAPI_L2_DCR,NOT_DERIVED,PM_DATA_FROM_L2 +PRESET,PAPI_L2_DCW,NOT_DERIVED,PM_L2_ST +PRESET,PAPI_L3_DCR,NOT_DERIVED,PM_DATA_FROM_L3 +PRESET,PAPI_L3_DCM,NOT_DERIVED,PM_DATA_FROM_L3MISS +PRESET,PAPI_L3_LDM,NOT_DERIVED,PM_L3_LD_MISS +PRESET,PAPI_L1_ICH,NOT_DERIVED,PM_INST_FROM_LMEM +PRESET,PAPI_L1_ICM,NOT_DERIVED,PM_L1_ICACHE_MISS +PRESET,PAPI_L2_ICM,NOT_DERIVED,PM_INST_FROM_L3 +PRESET,PAPI_L2_ICH,NOT_DERIVED,PM_INST_FROM_L2 +PRESET,PAPI_L3_ICA,NOT_DERIVED,PM_INST_FROM_L2MISS +PRESET,PAPI_L3_ICH,NOT_DERIVED,PM_INST_FROM_L3 +PRESET,PAPI_L3_ICM,NOT_DERIVED,PM_INST_FROM_L3MISS +PRESET,PAPI_FMA_INS,NOT_DERIVED,PM_FMA_CMPL +#PRESET,PAPI_TOT_IIS,NOT_DERIVED, +PRESET,PAPI_TOT_INS,NOT_DERIVED,PM_INST_CMPL +PRESET,PAPI_INT_INS,NOT_DERIVED,PM_FXU_ISSUE +PRESET,PAPI_FP_OPS,NOT_DERIVED,PM_FLOP_CMPL +PRESET,PAPI_FP_INS,NOT_DERIVED,PM_FLOP_CMPL +PRESET,PAPI_DP_OPS,NOT_DERIVED,PM_2FLOP_CMPL +PRESET,PAPI_SP_OPS,NOT_DERIVED,PM_SP_FLOP_CMPL +PRESET,PAPI_TOT_CYC,NOT_DERIVED,PM_RUN_CYC +#PRESET,PAPI_HW_INT,NOT_DERIVED,PM_EXT_INT +PRESET,PAPI_STL_ICY,DERIVED_POSTFIX,N0|N1|-|,PM_RUN_CYC,PM_1PLUS_PPC_DISP +PRESET,PAPI_SR_INS,NOT_DERIVED,PM_ST_FIN +PRESET,PAPI_LD_INS,NOT_DERIVED,PM_LD_REF_L1 +PRESET,PAPI_LST_INS,NOT_DERIVED,PM_LSU_FIN +PRESET,PAPI_LST_INS,DERIVED_ADD,PM_LD_REF_L1,PM_LD_MISS_L1,PM_ST_FIN +PRESET,PAPI_BR_INS,NOT_DERIVED,PM_BR_FIN +PRESET,PAPI_BR_MSP,NOT_DERIVED,PM_BR_MPRED_CMPL +#PRESET,PAPI_BR_PRC,NOT_DERIVED, +PRESET,PAPI_BR_CN,DERIVED_SUB,PM_BR_TAKEN_CMPL,PM_BR_TKN_UNCOND_FIN +PRESET,PAPI_BR_NTK,NOT_DERIVED,PM_BR_MPRED_CMPL +PRESET,PAPI_BR_UCN,NOT_DERIVED,PM_BR_FIN +PRESET,PAPI_BR_TKN,NOT_DERIVED,PM_BR_TAKEN_CMPL +#PRESET,PAPI_FXU_IDL,NOT_DERIVED,PM_FXU_IDLE +# CPU,ultra12 # PRESET,PAPI_TOT_CYC,NOT_DERIVED,CYCLE_CNT PRESET,PAPI_TOT_INS,NOT_DERIVED,INSTR_CNT PRESET,PAPI_L1_ICM,NOT_DERIVED,DISPATCH0_IC_MISS |
From: will s. <wil...@vn...> - 2022-08-03 15:11:30
|
On Wed, 2022-08-03 at 09:40 -0400, William Cohen wrote: > 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. Hi, Yes.. There is a single patch containing the updates unique for PAPI that updates src/papi_events.csv with the Power10 presets. Per my local email history it looks like I sent (tried to send) this to the PAPI list earlier this year (18 Feb 2022), though I didn't see it in the archives. I'll do a local sniff-test to ensure its still clean and re-send to the list later today. Thanks, -Will (Schmidt) > > -Will Cohen > > > > > On Mon, Jul 18, 2022 at 9:00 AM William Cohen <wc...@re...> > > > 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_veri > > > > > > > > > fica > > > > > > > > > tion_test. > > > > > > > > > diff > > > > > > > > > ) > > > > > > > > > Author: Will Schmidt <wil...@vn...> > > > > > > > > > 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 > > > > > > |
From: Giuseppe C. <gc...@ic...> - 2022-08-03 15:05:12
|
Hi Will, I have a pull request for the latest libpfm4 updates https://bitbucket.org/icl/papi/pull-requests/318 <https://bitbucket.org/icl/papi/pull-requests/318>. It will be merged in the next days. Best, Giuseppe > On 3 Aug 2022, at 15:40, William Cohen <wc...@re...> wrote: > > 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 <wc...@re...> >>> 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 <wil...@vn...> >>>>>>>>> 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 > per...@li... > https://lists.sourceforge.net/lists/listinfo/perfmon2-devel |
From: Giuseppe C. <gc...@ic...> - 2022-08-03 14:52:01
|
Hi Will, Unfortunately, I can’t say when power10 presets will be added to PAPI right now. I will let you know when I have some update on the matter. Best, Giuseppe > On 3 Aug 2022, at 16:06, William Cohen <wc...@re...> wrote: > > On 8/3/22 09:56, Giuseppe Congiu wrote: >> Hi Will, >> >> I have a pull request for the latest libpfm4 updates https://bitbucket.org/icl/papi/pull-requests/318 <https://bitbucket.org/icl/papi/pull-requests/318>. It will be merged in the next days. >> >> Best, >> Giuseppe > > Hi Giuseppe, > > Yes, saw that the power 10 libpfm patches upstream. The question was about the associated presents that are placed in src/papi_events.csv. There are PAPI events presets for power9 and earlier. Would expect that there is going to need to be a similar set of preset in src/papi_events.csv for CPU,power10 (and CPU,POWER10). > > -Will Cohen >> >>> On 3 Aug 2022, at 15:40, William Cohen <wc...@re... <mailto:wc...@re...>> wrote: >>> >>> 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/ <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 <wc...@re... <mailto:wc...@re...>> >>>>> 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/ <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 <wil...@vn...> >>>>>>>>>>> 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/ <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/ <https://sourceforge.net/u/willschm/perfmon2/ci/61697515bbc09d7568bd50665f3934bebc0c0485/> >>>>>>> >>>>>>> Corrected and pushed to the fork. >>>>>>> >>>>>>> https://sourceforge.net/u/willschm/perfmon2/ci/1db75b57c0ef6f8c9655059c7f033ddbd8908a4c/ <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 >>> per...@li... <mailto:per...@li...> >>> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel >> > |
From: William C. <wc...@re...> - 2022-08-03 14:07:07
|
On 8/3/22 09:56, Giuseppe Congiu wrote: > Hi Will, > > I have a pull request for the latest libpfm4 updates https://bitbucket.org/icl/papi/pull-requests/318 <https://bitbucket.org/icl/papi/pull-requests/318>. It will be merged in the next days. > > Best, > Giuseppe Hi Giuseppe, Yes, saw that the power 10 libpfm patches upstream. The question was about the associated presents that are placed in src/papi_events.csv. There are PAPI events presets for power9 and earlier. Would expect that there is going to need to be a similar set of preset in src/papi_events.csv for CPU,power10 (and CPU,POWER10). -Will Cohen > >> On 3 Aug 2022, at 15:40, William Cohen <wc...@re... <mailto:wc...@re...>> wrote: >> >> 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/ <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 <wc...@re... <mailto:wc...@re...>> >>>> 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/ <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 <wil...@vn...> >>>>>>>>>> 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/ <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/ <https://sourceforge.net/u/willschm/perfmon2/ci/61697515bbc09d7568bd50665f3934bebc0c0485/> >>>>>> >>>>>> Corrected and pushed to the fork. >>>>>> >>>>>> https://sourceforge.net/u/willschm/perfmon2/ci/1db75b57c0ef6f8c9655059c7f033ddbd8908a4c/ <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 >> per...@li... <mailto:per...@li...> >> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel > |
From: William C. <wc...@re...> - 2022-08-03 13:40:56
|
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 <wc...@re...> >> 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 <wil...@vn...> >>>>>>>> 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 >>>>> > |
From: will s. <wil...@vn...> - 2022-08-01 14:03:03
|
On Sat, 2022-07-30 at 14:23 -0700, Stephane Eranian wrote: > Hi Will. > > Power10 patch applied. > Thanks for your contributions. Thanks! :-) -Will > > On Mon, Jul 18, 2022 at 9:00 AM William Cohen <wc...@re...> > 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 <wil...@vn...> > > > > > > > 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 > > > > |
From: Stephane E. <er...@go...> - 2022-07-30 21:46:22
|
Hi Will. Power10 patch applied. Thanks for your contributions. On Mon, Jul 18, 2022 at 9:00 AM William Cohen <wc...@re...> 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 <wil...@vn...> > >>>>> 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 > >> > > > |
From: will s. <wil...@vn...> - 2022-07-25 20:34:44
|
On Mon, 2022-07-25 at 04:02 -0700, Stephane Eranian wrote: > 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. I've sent the combined patch directly to Stephane, and I've confirmed that the pointer to documentation included in the description and comments is still valid. Thanks, -Will (Schmidt) |
From: Stephane E. <er...@go...> - 2022-07-25 17:50:09
|
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 <wc...@re...> 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 <wil...@vn...> > >>>>> 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 > >> > > > |
From: William C. <wc...@re...> - 2022-07-18 16:00:23
|
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 <wil...@vn...> >>>>> 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 >> > |
From: will s. <wil...@vn...> - 2022-06-27 21:59:05
|
Ping? To recap, (it's been a few weeks) Support to enable Power10 for Perfmon/libPFM has been posted to the fork as referenced below. Due to size these patches wouldn't make it to the list. Thanks, -Will On Thu, 2022-05-12 at 14:40 -0500, will schmidt wrote: > > > > > > [ I'm not familiar with the incantations, but the info > > > > > below should be sufficient to get at the patch :-) ] <snip> > > > > > git clone https://git.code.sf.net/u/willschm/perfmon2 willschm-perfmon2 > > > > > > > > > > > > > > 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. > > > > > > > > > > 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/ > > > > > 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/ > |
From: William C. <wc...@re...> - 2022-06-08 18:04:03
|
On 6/8/22 10:01, Stephane Eranian via perfmon2-devel wrote: > Hi, > > Could you try the attached patch? > There is no use after free in the code as far as I can tell. > But I modified the code to avoid triggering the gcc warning. > I don't have gcc-12 so let me know if this works for you. Hi, I tried out the patch on Fedora rawhide which has gcc-12 with a rpmbuild of a git libpfm repo tarball. With the patch it builds successfully. Without the patch the build failed. Took a look at the patch and it looks reasonable. Thanks, -will > > > On Tue, Jun 7, 2022 at 1:26 AM Stephane Eranian <er...@go...> wrote: >> >> Hi, >> >> Thanks for the report, >> >> I will fix this in the coming days. >> >> On Sat, Jun 4, 2022 at 10:08 AM Vitaly Chikunov <vt...@al...> wrote: >>> >>> Stephane, >>> >>> There is compile failure on GCC 12.1.1: >>> >>> pfmlib_perf_event_pmu.c: In function 'perf_table_alloc_event': >>> pfmlib_perf_event_pmu.c:293:47: error: pointer may be used after 'realloc' [-Werror=use-after-free] >>> 293 | perf_pe_free = new_pe + (perf_pe_free - perf_pe); >>> | ^ >>> pfmlib_perf_event_pmu.c:289:18: note: call to 'realloc' here >>> 289 | new_pe = realloc(perf_pe, perf_pe_count * sizeof(perf_event_t)); >>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> In function 'perf_table_alloc_umask', >>> inlined from 'gen_tracepoint_table' at pfmlib_perf_event_pmu.c:457:10: >>> pfmlib_perf_event_pmu.c:329:47: error: pointer may be used after 'realloc' [-Werror=use-after-free] >>> 329 | perf_um_free = new_um + (perf_um_free - perf_um); >>> | ^ >>> pfmlib_perf_event_pmu.c:325:18: note: call to 'realloc' here >>> 325 | new_um = realloc(perf_um, perf_um_count * sizeof(*new_um)); >>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> cc1: all warnings being treated as errors >>> >>> Also, pointer arithmetic on unallocated region are, perhaps, undefined >>> behavior by C standard. So even though this math looks safe on x86 this >>> should be fixed anyway to be more portable. >>> >>> Thanks, >>> >>> >>> >>> _______________________________________________ >>> perfmon2-devel mailing list >>> per...@li... >>> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel |
From: Stephane E. <er...@go...> - 2022-06-08 14:02:16
|
Hi, Could you try the attached patch? There is no use after free in the code as far as I can tell. But I modified the code to avoid triggering the gcc warning. I don't have gcc-12 so let me know if this works for you. On Tue, Jun 7, 2022 at 1:26 AM Stephane Eranian <er...@go...> wrote: > > Hi, > > Thanks for the report, > > I will fix this in the coming days. > > On Sat, Jun 4, 2022 at 10:08 AM Vitaly Chikunov <vt...@al...> wrote: > > > > Stephane, > > > > There is compile failure on GCC 12.1.1: > > > > pfmlib_perf_event_pmu.c: In function 'perf_table_alloc_event': > > pfmlib_perf_event_pmu.c:293:47: error: pointer may be used after 'realloc' [-Werror=use-after-free] > > 293 | perf_pe_free = new_pe + (perf_pe_free - perf_pe); > > | ^ > > pfmlib_perf_event_pmu.c:289:18: note: call to 'realloc' here > > 289 | new_pe = realloc(perf_pe, perf_pe_count * sizeof(perf_event_t)); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > In function 'perf_table_alloc_umask', > > inlined from 'gen_tracepoint_table' at pfmlib_perf_event_pmu.c:457:10: > > pfmlib_perf_event_pmu.c:329:47: error: pointer may be used after 'realloc' [-Werror=use-after-free] > > 329 | perf_um_free = new_um + (perf_um_free - perf_um); > > | ^ > > pfmlib_perf_event_pmu.c:325:18: note: call to 'realloc' here > > 325 | new_um = realloc(perf_um, perf_um_count * sizeof(*new_um)); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > cc1: all warnings being treated as errors > > > > Also, pointer arithmetic on unallocated region are, perhaps, undefined > > behavior by C standard. So even though this math looks safe on x86 this > > should be fixed anyway to be more portable. > > > > Thanks, > > |
From: Stephane E. <er...@go...> - 2022-06-07 09:33:24
|
Hi, Thanks for the report, I will fix this in the coming days. On Sat, Jun 4, 2022 at 10:08 AM Vitaly Chikunov <vt...@al...> wrote: > > Stephane, > > There is compile failure on GCC 12.1.1: > > pfmlib_perf_event_pmu.c: In function 'perf_table_alloc_event': > pfmlib_perf_event_pmu.c:293:47: error: pointer may be used after 'realloc' [-Werror=use-after-free] > 293 | perf_pe_free = new_pe + (perf_pe_free - perf_pe); > | ^ > pfmlib_perf_event_pmu.c:289:18: note: call to 'realloc' here > 289 | new_pe = realloc(perf_pe, perf_pe_count * sizeof(perf_event_t)); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > In function 'perf_table_alloc_umask', > inlined from 'gen_tracepoint_table' at pfmlib_perf_event_pmu.c:457:10: > pfmlib_perf_event_pmu.c:329:47: error: pointer may be used after 'realloc' [-Werror=use-after-free] > 329 | perf_um_free = new_um + (perf_um_free - perf_um); > | ^ > pfmlib_perf_event_pmu.c:325:18: note: call to 'realloc' here > 325 | new_um = realloc(perf_um, perf_um_count * sizeof(*new_um)); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > > Also, pointer arithmetic on unallocated region are, perhaps, undefined > behavior by C standard. So even though this math looks safe on x86 this > should be fixed anyway to be more portable. > > Thanks, > |
From: Carl P. <cp...@nv...> - 2022-05-28 13:02:22
|
The main pages here https://sourceforge.net/projects/perfmon2/files/ http://perfmon2.sourceforge.net/ list 4.11.0 as being the latest tarball, but I see built versions of 4.11.1 posted everywhere, like libpfm4 - 4.11.1+git32-gd0b85fb-1 4.11.1+git32-gd0b85fb-1: amd64 arm64 armhf i386 ppc64el s390x and I can download 4.11.1 from here https://sourceforge.net/p/perfmon2/libpfm4/ci/v4.11.1/tarball?path= but can't use my usual wget form to download it: SITE = https://downloads.sourceforge.net/project/perfmon2/libpfm4 FILE =/libpfm-$(VERSION).tar.gz $(FILE) : wget $(SITE)/$(FILE) Is there a technical reason why a tarball is posted for 4.11.0 as being the latest, not 4.11.1? And is there a target release date for the next version, i.e. 4.11.2 / 4.12.0 / 5.0.0 ? |
From: will s. <wil...@vn...> - 2022-05-12 19:40:21
|
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 <wil...@vn...> > > > > 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) > > +[ 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 > |
From: will s. <wil...@vn...> - 2022-05-11 20:26:23
|
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_t > > > > est. > > > > diff > > > > ) > > > > Author: Will Schmidt <wil...@vn...> > > > > 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 review. I have a few comments and follow-up questions below. I'm predicting the answers, and will start spinning up some fixes in the meantine. Thanks, > > 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. Good catch. I'll fix. > > https://sourceforge.net/u/willschm/perfmon2/ci/61697515bbc09d7568bd50665f3934bebc0c0485/ > > 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. Yes.. For previous processors, instead of the enum we had a raw list of #defines, one for each of the event entries. My change here, wrt previous content was to try to simplify the text a bit, dropping the chain of defines for an enum was an improvement at least, allowing better isolated changes. It had not occurred to me to strip those out entirely. (I thought those values were also used for the papi event mapping, but upon further review there I see that is not the case..) I'l l give that a respin and confirm I'm not missing something more. > > 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: Yes. This was by design to try to save space. Early internal versions of this patch set were gargantuan. I will regenerate to get the currently blank descriptions filled in. Thanks -Will (Schmidt) > > > +[ 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 > |
From: William C. <wc...@re...> - 2022-05-11 18:37:38
|
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 <wil...@vn...> >>> 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/ 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. 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: +[ 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 |
From: will s. <wil...@vn...> - 2022-05-10 20:52:28
|
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 <wil...@vn...> > > 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) > |
From: will s. <wil...@vn...> - 2022-05-04 16:04:38
|
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 <wil...@vn...> > > 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, The patches (for both libpfm and PAPI) are as complete as I can make them, and would be fair game to be incorporated into the respective packages at the discretion of the package maintainers. I expect these are all bound up waiting for a pointer to documentation on the events. Thats a well documented and repeated request that I do not dispute or contest. :-) I do not have a pointer to that documentation, and do not have a prediction on when that documentation will be available. Thanks -Will > > -Will > |
From: William C. <wc...@re...> - 2022-05-04 14:51:31
|
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 <wil...@vn...> > 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. -Will |
From: Dan S. <da...@ho...> - 2022-03-27 10:34:24
|
Hi, I'd like to dynamically manage the counters requested from a PMU on x86 platforms where there is variability as to the number of floating/fixed counters available. I see there are, internally, markings (the .uflags / .flags field) for the INTEL_X86_FIXED flag. However, I don't see a way to extract or get this information as a user of libpfm to understand what the implications are for adding a counter to the list on the per-PMU counter budget as reported by the pfm_get_pmu_info() (which does differentiate between fixed and non-fixed counters. Is there any reasonable way to get this sort of detailed information? Shechter. |
From: will s. <wil...@vn...> - 2022-02-23 19:42:27
|
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 <wil...@vn...> 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 |
From: will s. <wil...@vn...> - 2022-02-23 16:50:23
|
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. > > > > There are two commits, the first containing the power10 hooks, the > > second containing the full (supported/verified) event list that > > matches > > > > <snipsnip> > > > > Thanks for the heads up on the patches. One thing I noticed missing > from the patch is a pointer to documentation describing the > events. In commit 616975 see: > > +* Documentation on the PMU events will be published at: > +* ... > > Is there some place that the documentation will be published? Should be. I'm doing follow-up internally on this one to see where it is. > > Also should there be some tests for the power10 PMU events added to > tests/validate_power.c? Yes. I'll post a separate patch with this update. Thanks, -Will (Schmidt) > > -Will Cohen > |