Date: Wed, 31 Aug 2022 14:15:36 +0300 From: Toomas Soome <tsoome@me.com> To: Jessica Clarke <jrtc27@freebsd.org> Cc: "Bjoern A. Zeeb" <bz@FreeBSD.org>, Toomas Soome <tsoome@FreeBSD.org>, "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org> Subject: Re: git: e3572eb65473 - main - Allocate event for DMC-620 and CMN-600 controllers PMU. Add events supported by DMC-620 and CMN-600 controllers PMU. Message-ID: <0DCA177E-9FD9-4DF8-A7EB-C29CA44B5116@me.com> In-Reply-To: <0F57FEEE-BDC0-4CE1-9349-D7E12556E158@freebsd.org> References: <202206262217.25QMHOuH076130@gitrepo.freebsd.org> <F0C6ECC7-E479-4FA8-ADAE-7229E045D771@freebsd.org> <alpine.BSF.2.00.2206262336110.68830@ai.fobar.qr> <CE2DC7A3-CB6B-4AC4-9F62-07302D501B61@freebsd.org> <alpine.BSF.2.00.2206270053420.68830@ai.fobar.qr> <1E37449E-B6C8-47A5-AD79-34F24138CC64@freebsd.org> <r9ro55p-7279-6s1s-q8rq-3q5r589768sq@SerrOFQ.bet> <0F57FEEE-BDC0-4CE1-9349-D7E12556E158@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_0C935628-E893-401A-9B4F-97ADC5A55F9E Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Please see https://reviews.freebsd.org/D36401 = <https://reviews.freebsd.org/D36401> thanks, toomas > On 31. Aug 2022, at 01:05, Jessica Clarke <jrtc27@freebsd.org> wrote: >=20 > On 30 Aug 2022, at 22:51, Bjoern A. Zeeb <bz@FreeBSD.org = <mailto:bz@FreeBSD.org>> wrote: >>=20 >> On Tue, 30 Aug 2022, Jessica Clarke wrote: >>=20 >> Hi Jessica, >>=20 >>> On 27 Jun 2022, at 01:58, Bjoern A. Zeeb <bz@FreeBSD.org> wrote: >>>>=20 >>>> On Mon, 27 Jun 2022, Jessica Clarke wrote: >>>>=20 >>>> Hi, >>>>=20 >>>>> On 27 Jun 2022, at 01:26, Bjoern A. Zeeb <bz@FreeBSD.org> wrote: >>>>>>=20 >>>>>> On Mon, 27 Jun 2022, Jessica Clarke wrote: >>>>>>=20 >>>>>>> On 26 Jun 2022, at 23:17, Toomas Soome <tsoome@FreeBSD.org> = wrote: >>>>>>>>=20 >>>>>>>> The branch main has been updated by tsoome: >>>>>>>>=20 >>>>>>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3De3572eb654733a94e1e765fe9e95e057= 9981d851 >>>>>>>>=20 >>>>>>>> commit e3572eb654733a94e1e765fe9e95e0579981d851 >>>>>>>> Author: Aleksandr Rybalko <ray@freebsd.org> >>>>>>>> AuthorDate: 2022-02-16 00:19:19 +0000 >>>>>>>> Commit: Toomas Soome <tsoome@FreeBSD.org> >>>>>>>> CommitDate: 2022-06-26 18:52:26 +0000 >>>>>>>>=20 >>>>>>>> Allocate event for DMC-620 and CMN-600 controllers PMU. Add = events supported by DMC-620 and CMN-600 controllers PMU. >>>>>>>>=20 >>>>>>>> Allocate event for DMC-620 and CMN-600 controllers PMU. >>>>>>>> Add events supported by DMC-620 and CMN-600 controllers PMU. >>>>>>>>=20 >>>>>>>> Reviewed by: bz >>>>>>>> Sponsored By: ARM >>>>>>>> Sponsored By: Ampere Computing >>>>>>>> Differential Revision: https://reviews.freebsd.org/D35609 >>>>>>>=20 >>>>>>> This includes the following (skipped due to lines) diff: >>>>>>>=20 >>>>>>>> * 0x14100 0x0100 ARMv8 events >>>>>>>> + * 0x14200 0x0020 ARM DMC-620 clkdiv2 events >>>>>>>> + * 0x14220 0x0080 ARM DMC-620 clk events >>>>>>>> + * 0x14300 0x0100 ARM CMN-600 events >>>>>>>=20 >>>>>>>=20 >>>>>>> Not enough space was allocated for Armv8 events as it goes up to = 0x3ff >>>>>>> in Armv8 (and beyond in later versions of the architecture). = Downstream >>>>>>> we extend this range in CheriBSD as required for Morello=E2=80=99s= events. >>>>>>> Please relocate these new events well past the end of the = existing >>>>>>> Armv8 events so the space can remain contiguous. >>>>>>=20 >>>>>> Should this be 0x3ff then as well btw? >>>>>> = https://github.com/CTSRD-CHERI/cheribsd/commit/4ea869cd8b717ca0b07672eb7ac= c99bf949249de >>>>>=20 >>>>> Well, 0x400 for count not max, but yes. We only extended as far as = we >>>>> needed, not to cover the entire range (but intended to eventually >>>>> upstream it as the full v8 range). >>>>>=20 >>>>>> Looking more closely it seems from ARMv8.1 onwards it goes up to = 0xFFFF >>>>>> if I read 'Table D8-7 Allocation of the PMU event number space' = of ARM >>>>>> DDI 0487H.a correctly? >>>>>=20 >>>>> Yes, if you want to cover all the v8.1 space then you need to go = that >>>>> high too, but it=E2=80=99ll get quite sparse in that range so = it=E2=80=99s unclear if >>>>> we want to go ahead and do that already or try and be smarter (the >>>>> current EVENT_xH list would get a bit silly). We should probably >>>>> reserve all of it though at least so we can if we want to in = future. >>>>=20 >>>> I'll let you and Toomas sort that out. I am just trying to fix the >>>> build breakage as I kind-of pushed him to get the remaining bits in >>>> by accepting that review after scrolling through and it looking >>>> reasonable and addressing all comments from the previous review. >>>> That was all to unbreak an already earlier build breakage. >>>>=20 >>>> Given it wasn't too late for me I was trying to get through it >>>> before falling asleep soon as well, especially now that the >>>> thunderstorms seems to have mostly passed. >>>=20 >>> Nobody ever got round to addressing this, and it is in fact causing = us >>> issues downstream now. However, there=E2=80=99s a rather more = glaring problem: >>>=20 >>>> @@ -1313,6 +1475,10 @@ pmc_init(void) >>>>=20 >>>> /* Fill soft events information. */ >>>> pmc_class_table[n++] =3D &soft_class_table_descr; >>>> + >>>> + pmc_class_table[n++] =3D &cmn600_pmu_class_table_descr; >>>> + pmc_class_table[n++] =3D &dmc620_pmu_cd2_class_table_descr; >>>> + pmc_class_table[n++] =3D &dmc620_pmu_c_class_table_descr; >>>=20 >>> This doesn=E2=80=99t work (even if you ifdef it appropriately like = now exists >>> upstream). If there is no CMN-600 etc then PMC_CLASS_TABLE_SIZE, = i.e. >>> cpu_info.pm_nclass, is not going to include those, so you cannot add >>> them to pmc_class_table otherwise you have a buffer overflow. >>=20 >> I am just replying really given I am on Cc: hoping that Toomas will = get to this. >>=20 >> pmc_init() is libpmc, right? Does a simple #if 0 around these avert = all >> issues for now or do the kernel bits also need backing out? >>=20 >> I only have vague memories of multiple commit to unbreak this one = from >> that night (which tried to fix a previous different breakage). >> Backing out everything might be more tedious than just reverting the >> commit hence asking if "disabling" it does fix the problems. >=20 > The only commit to libpmc.c since then was to add the #ifdef. I = believe > the kernel bits can stay, though the event numbers still collide with > what should have been reserved for Armv8-A=E2=80=99s full range, and = what we > reserve downstream as we have hardware that uses those events for > documented counters. >=20 >>> Given >>> this has broken libpmc on large swathes of AArch64 hardware (maybe >>=20 >> That has taken a lot of time for anyone to notice :( >=20 > It also took a long time for anyone to notice how broken libpmcstat = is, > and only a handful of people have noticed it=E2=80=99s totally broken = for PIEs. > People just aren=E2=80=99t using pmc much, especially on !x86=E2=80=A6 >=20 > Jess >=20 >>> without CHERI the memory corruption happens to not trample over >>> anything important for now, but who knows), can we please revert = this >>> patch until a fixed version exists, with both the event numbers >>> reallocated and libpmc made suitably dynamic so as to not introduce >>> buffer overflows? >>>=20 >>> Note that cmn600 only has an ACPI attachment so FDT-based systems = will >>> definitely hit this case. >>>=20 >>> Jess >>>=20 >>>=20 >>=20 >> --=20 >> Bjoern A. Zeeb r15:7 --Apple-Mail=_0C935628-E893-401A-9B4F-97ADC5A55F9E Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;" = class=3D"">Please see <span style=3D"text-decoration: underline; = font-family: Hack; background-color: rgb(255, 255, 255);" class=3D""><a = href=3D"https://reviews.freebsd.org/D36401" = class=3D"">https://reviews.freebsd.org/D36401</a></span><div = class=3D""><font face=3D"Hack" class=3D""><span style=3D"background-color:= rgb(255, 255, 255);" class=3D""><u class=3D""><br = class=3D""></u></span></font></div><div class=3D""><font face=3D"Hack" = class=3D""><span style=3D"background-color: rgb(255, 255, 255);" = class=3D""><u class=3D"">thanks,</u></span></font></div><div = class=3D""><font face=3D"Hack" class=3D""><span style=3D"background-color:= rgb(255, 255, 255);" class=3D""><u class=3D"">toomas<br = class=3D""></u></span></font><div><br class=3D""><blockquote type=3D"cite"= class=3D""><div class=3D"">On 31. Aug 2022, at 01:05, Jessica Clarke = <<a href=3D"mailto:jrtc27@freebsd.org" = class=3D"">jrtc27@freebsd.org</a>> wrote:</div><br = class=3D"Apple-interchange-newline"><div class=3D""><meta = charset=3D"UTF-8" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); = font-family: Hack-Regular; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline !important;" = class=3D"">On 30 Aug 2022, at 22:51, Bjoern A. Zeeb <</span><a = href=3D"mailto:bz@FreeBSD.org" style=3D"font-family: Hack-Regular; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; orphans: auto; text-align: = start; text-indent: 0px; text-transform: none; white-space: normal; = widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; = -webkit-text-stroke-width: 0px;" class=3D"">bz@FreeBSD.org</a><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Hack-Regular; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none; float: none; display: inline !important;" class=3D"">> = wrote:</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><blockquote type=3D"cite" style=3D"font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; orphans: auto; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; = -webkit-text-stroke-width: 0px; text-decoration: none;" class=3D""><br = class=3D"">On Tue, 30 Aug 2022, Jessica Clarke wrote:<br class=3D""><br = class=3D"">Hi Jessica,<br class=3D""><br class=3D""><blockquote = type=3D"cite" class=3D"">On 27 Jun 2022, at 01:58, Bjoern A. Zeeb <<a = href=3D"mailto:bz@FreeBSD.org" class=3D"">bz@FreeBSD.org</a>> = wrote:<br class=3D""><blockquote type=3D"cite" class=3D""><br = class=3D"">On Mon, 27 Jun 2022, Jessica Clarke wrote:<br class=3D""><br = class=3D"">Hi,<br class=3D""><br class=3D""><blockquote type=3D"cite" = class=3D"">On 27 Jun 2022, at 01:26, Bjoern A. Zeeb <<a = href=3D"mailto:bz@FreeBSD.org" class=3D"">bz@FreeBSD.org</a>> = wrote:<br class=3D""><blockquote type=3D"cite" class=3D""><br = class=3D"">On Mon, 27 Jun 2022, Jessica Clarke wrote:<br class=3D""><br = class=3D""><blockquote type=3D"cite" class=3D"">On 26 Jun 2022, at = 23:17, Toomas Soome <<a href=3D"mailto:tsoome@FreeBSD.org" = class=3D"">tsoome@FreeBSD.org</a>> wrote:<br class=3D""><blockquote = type=3D"cite" class=3D""><br class=3D"">The branch main has been updated = by tsoome:<br class=3D""><br class=3D"">URL: <a = href=3D"https://cgit.FreeBSD.org/src/commit/?id=3De3572eb654733a94e1e765fe= 9e95e0579981d851" = class=3D"">https://cgit.FreeBSD.org/src/commit/?id=3De3572eb654733a94e1e76= 5fe9e95e0579981d851</a><br class=3D""><br class=3D"">commit = e3572eb654733a94e1e765fe9e95e0579981d851<br class=3D"">Author: Aleksandr = Rybalko <<a href=3D"mailto:ray@freebsd.org" = class=3D"">ray@freebsd.org</a>><br class=3D"">AuthorDate: 2022-02-16 = 00:19:19 +0000<br class=3D"">Commit: Toomas Soome <<a = href=3D"mailto:tsoome@FreeBSD.org" = class=3D"">tsoome@FreeBSD.org</a>><br class=3D"">CommitDate: = 2022-06-26 18:52:26 +0000<br class=3D""><br class=3D"">Allocate event = for DMC-620 and CMN-600 controllers PMU. Add events supported by DMC-620 = and CMN-600 controllers PMU.<br class=3D""><br class=3D"">Allocate event = for DMC-620 and CMN-600 controllers PMU.<br class=3D"">Add events = supported by DMC-620 and CMN-600 controllers PMU.<br class=3D""><br = class=3D"">Reviewed by: bz<br class=3D"">Sponsored By: ARM<br = class=3D"">Sponsored By: Ampere Computing<br class=3D"">Differential = Revision: <a href=3D"https://reviews.freebsd.org/D35609" = class=3D"">https://reviews.freebsd.org/D35609</a><br = class=3D""></blockquote><br class=3D"">This includes the following = (skipped due to lines) diff:<br class=3D""><br class=3D""><blockquote = type=3D"cite" class=3D"">* 0x14100<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>0x0100<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>ARMv8 = events<br class=3D"">+ * 0x14200<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>0x0020<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> </span>ARM = DMC-620 clkdiv2 events<br class=3D"">+ * 0x14220<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>0x0080<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>ARM DMC-620 clk events<br class=3D"">+ * 0x14300<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>0x0100<span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>ARM CMN-600 events<br class=3D""></blockquote><br class=3D""><br = class=3D"">Not enough space was allocated for Armv8 events as it goes up = to 0x3ff<br class=3D"">in Armv8 (and beyond in later versions of the = architecture). Downstream<br class=3D"">we extend this range in CheriBSD = as required for Morello=E2=80=99s events.<br class=3D"">Please relocate = these new events well past the end of the existing<br class=3D"">Armv8 = events so the space can remain contiguous.<br class=3D""></blockquote><br = class=3D"">Should this be 0x3ff then as well btw?<br class=3D""><a = href=3D"https://github.com/CTSRD-CHERI/cheribsd/commit/4ea869cd8b717ca0b07= 672eb7acc99bf949249de" = class=3D"">https://github.com/CTSRD-CHERI/cheribsd/commit/4ea869cd8b717ca0= b07672eb7acc99bf949249de</a><br class=3D""></blockquote><br = class=3D"">Well, 0x400 for count not max, but yes. We only extended as = far as we<br class=3D"">needed, not to cover the entire range (but = intended to eventually<br class=3D"">upstream it as the full v8 = range).<br class=3D""><br class=3D""><blockquote type=3D"cite" = class=3D"">Looking more closely it seems from ARMv8.1 onwards it goes up = to 0xFFFF<br class=3D"">if I read 'Table D8-7 Allocation of the PMU = event number space' of ARM<br class=3D"">DDI 0487H.a correctly?<br = class=3D""></blockquote><br class=3D"">Yes, if you want to cover all the = v8.1 space then you need to go that<br class=3D"">high too, but it=E2=80=99= ll get quite sparse in that range so it=E2=80=99s unclear if<br = class=3D"">we want to go ahead and do that already or try and be smarter = (the<br class=3D"">current EVENT_xH list would get a bit silly). We = should probably<br class=3D"">reserve all of it though at least so we = can if we want to in future.<br class=3D""></blockquote><br = class=3D"">I'll let you and Toomas sort that out. I am just trying to = fix the<br class=3D"">build breakage as I kind-of pushed him to get the = remaining bits in<br class=3D"">by accepting that review after scrolling = through and it looking<br class=3D"">reasonable and addressing all = comments from the previous review.<br class=3D"">That was all to unbreak = an already earlier build breakage.<br class=3D""><br class=3D"">Given it = wasn't too late for me I was trying to get through it<br class=3D"">before= falling asleep soon as well, especially now that the<br = class=3D"">thunderstorms seems to have mostly passed.<br = class=3D""></blockquote><br class=3D"">Nobody ever got round to = addressing this, and it is in fact causing us<br class=3D"">issues = downstream now. However, there=E2=80=99s a rather more glaring = problem:<br class=3D""><br class=3D""><blockquote type=3D"cite" = class=3D"">@@ -1313,6 +1475,10 @@ pmc_init(void)<br class=3D""><br = class=3D""><span class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>/* Fill soft events information. */<br class=3D""><span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>pmc_class_table[n++] =3D &soft_class_table_descr;<br = class=3D"">+<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space: pre;"> </span>pmc_class_table[n++] =3D = &cmn600_pmu_class_table_descr;<br class=3D"">+<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>pmc_class_table[n++] =3D = &dmc620_pmu_cd2_class_table_descr;<br class=3D"">+<span = class=3D"Apple-tab-span" style=3D"white-space: pre;"> = </span>pmc_class_table[n++] =3D &dmc620_pmu_c_class_table_descr;<br = class=3D""></blockquote><br class=3D"">This doesn=E2=80=99t work (even = if you ifdef it appropriately like now exists<br class=3D"">upstream). = If there is no CMN-600 etc then PMC_CLASS_TABLE_SIZE, i.e.<br = class=3D"">cpu_info.pm_nclass, is not going to include those, so you = cannot add<br class=3D"">them to pmc_class_table otherwise you have a = buffer overflow.<br class=3D""></blockquote><br class=3D"">I am just = replying really given I am on Cc: hoping that Toomas will get to = this.<br class=3D""><br class=3D"">pmc_init() is libpmc, right? Does a = simple #if 0 around these avert all<br class=3D"">issues for now or do = the kernel bits also need backing out?<br class=3D""><br class=3D"">I = only have vague memories of multiple commit to unbreak this one from<br = class=3D"">that night (which tried to fix a previous different = breakage).<br class=3D"">Backing out everything might be more tedious = than just reverting the<br class=3D"">commit hence asking if "disabling" = it does fix the problems.<br class=3D""></blockquote><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Hack-Regular; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none; float: none; display: inline !important;" class=3D"">The only = commit to libpmc.c since then was to add the #ifdef. I believe</span><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Hack-Regular; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none; float: none; display: inline !important;" class=3D"">the kernel = bits can stay, though the event numbers still collide with</span><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Hack-Regular; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none; float: none; display: inline !important;" class=3D"">what should = have been reserved for Armv8-A=E2=80=99s full range, and what = we</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none; float: none; display: inline !important;" class=3D"">reserve = downstream as we have hardware that uses those events for</span><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Hack-Regular; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none; float: none; display: inline !important;" class=3D"">documented = counters.</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><blockquote type=3D"cite" style=3D"font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; orphans: auto; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; = -webkit-text-stroke-width: 0px; text-decoration: none;" = class=3D""><blockquote type=3D"cite" class=3D"">Given<br class=3D"">this = has broken libpmc on large swathes of AArch64 hardware (maybe<br = class=3D""></blockquote><br class=3D"">That has taken a lot of time for = anyone to notice :(<br class=3D""></blockquote><br style=3D"caret-color: = rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: = normal; font-variant-caps: normal; font-weight: 400; letter-spacing: = normal; text-align: start; text-indent: 0px; text-transform: none; = white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, = 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline !important;" = class=3D"">It also took a long time for anyone to notice how broken = libpmcstat is,</span><br style=3D"caret-color: rgb(0, 0, 0); = font-family: Hack-Regular; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, = 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline !important;" = class=3D"">and only a handful of people have noticed it=E2=80=99s = totally broken for PIEs.</span><br style=3D"caret-color: rgb(0, 0, 0); = font-family: Hack-Regular; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, = 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline !important;" = class=3D"">People just aren=E2=80=99t using pmc much, especially on = !x86=E2=80=A6</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none; float: none; display: inline !important;" class=3D"">Jess</span><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Hack-Regular; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;" class=3D""><blockquote type=3D"cite" style=3D"font-family: = Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; orphans: auto; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; = -webkit-text-stroke-width: 0px; text-decoration: none;" = class=3D""><blockquote type=3D"cite" class=3D"">without CHERI the memory = corruption happens to not trample over<br class=3D"">anything important = for now, but who knows), can we please revert this<br class=3D"">patch = until a fixed version exists, with both the event numbers<br = class=3D"">reallocated and libpmc made suitably dynamic so as to not = introduce<br class=3D"">buffer overflows?<br class=3D""><br = class=3D"">Note that cmn600 only has an ACPI attachment so FDT-based = systems will<br class=3D"">definitely hit this case.<br class=3D""><br = class=3D"">Jess<br class=3D""><br class=3D""><br = class=3D""></blockquote><br class=3D"">--<span = class=3D"Apple-converted-space"> </span><br class=3D"">Bjoern A. = Zeeb r15:7</blockquote></div></blockquote></div><br = class=3D""></div></body></html>= --Apple-Mail=_0C935628-E893-401A-9B4F-97ADC5A55F9E--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0DCA177E-9FD9-4DF8-A7EB-C29CA44B5116>