On 14 November 2015 at 14:39, Michael Zimmermann <sigmaepsilo...@gmail.com> wrote: > I have an issue with this commit too on my ARMv7 device. > It causes the whole system to get extremely slow. >
OK, thanks for the report. This means I will have to update the v7 code to use 'inner shareable' explicitly, rather than the unqualified 'shareable' which most likely implies outer shareable. The reason I didn't do this right away is because it involves changing the existing code to use TEX remapping rather than specifying the memory type directly in the translation table entries. This is a non-trivial change, so I tried to avoid it. I will try to get a patch out on Monday that implements this change. Regards, Ard. > This is my memmap in case it matters: > Type Start End # Pages Attributes > Available 0000000080200000-0000000088DFFFFF 0000000000008C00 > 000000000000000F > Available 0000000089000000-00000000890FFFFF 0000000000000100 > 000000000000000F > BS_Data 0000000089100000-00000000898FFFFF 0000000000000800 > 000000000000000F > Available 0000000089900000-0000000089FFFFFF 0000000000000700 > 000000000000000F > BS_Data 000000008A000000-000000008A3FFFFF 0000000000000400 > 000000000000000F > Available 000000008A400000-000000008ABFFFFF 0000000000000800 > 000000000000000F > Available 000000008AE00000-000000008B3EFFFF 00000000000005F0 > 000000000000000F > BS_Data 000000008B3F0000-000000008BBFFFFF 0000000000000810 > 000000000000000F > Available 000000008BC00000-000000008D9FFFFF 0000000000001E00 > 000000000000000F > Available 000000008EC00000-000000008EFFFFFF 0000000000000400 > 000000000000000F > Available 000000008F700000-000000008FDFFFFF 0000000000000700 > 000000000000000F > Available 000000008FF00000-00000000BACF2FFF 000000000002ADF3 > 000000000000000F > LoaderCode 00000000BACF3000-00000000BADAFFFF 00000000000000BD > 000000000000000F > LoaderData 00000000BADB0000-00000000BADB5FFF 0000000000000006 > 000000000000000F > LoaderCode 00000000BADB6000-00000000BAEEBFFF 0000000000000136 > 000000000000000F > BS_Code 00000000BAEEC000-00000000BAFA8FFF 00000000000000BD > 000000000000000F > RT_Data 00000000BAFA9000-00000000BAFAEFFF 0000000000000006 > 800000000000400F > RT_Code 00000000BAFAF000-00000000BAFB1FFF 0000000000000003 > 800000000002000F > RT_Data 00000000BAFB2000-00000000BAFC2FFF 0000000000000011 > 800000000000400F > RT_Data 00000000BAFC3000-00000000BAFC3FFF 0000000000000001 > 800000000000400F > RT_Code 00000000BAFC4000-00000000BAFCDFFF 000000000000000A > 800000000002000F > RT_Data 00000000BAFCE000-00000000BAFEFFFF 0000000000000022 > 800000000000400F > RT_Data 00000000BAFF0000-00000000BAFF0FFF 0000000000000001 > 800000000000400F > RT_Code 00000000BAFF1000-00000000BAFF2FFF 0000000000000002 > 800000000002000F > RT_Data 00000000BAFF3000-00000000BAFF4FFF 0000000000000002 > 800000000000400F > Available 00000000BAFF5000-00000000BE483FFF 000000000000348F > 000000000000000F > BS_Data 00000000BE484000-00000000BE51AFFF 0000000000000097 > 000000000000000F > Available 00000000BE51B000-00000000BE53FFFF 0000000000000025 > 000000000000000F > BS_Data 00000000BE540000-00000000BFE28FFF 00000000000018E9 > 000000000000000F > Available 00000000BFE29000-00000000BFEBAFFF 0000000000000092 > 000000000000000F > BS_Code 00000000BFEBB000-00000000BFFB8FFF 00000000000000FE > 000000000000000F > RT_Data 00000000BFFB9000-00000000BFFB9FFF 0000000000000001 > 800000000000400F > RT_Code 00000000BFFBA000-00000000BFFBCFFF 0000000000000003 > 800000000002000F > RT_Data 00000000BFFBD000-00000000BFFBFFFF 0000000000000003 > 800000000000400F > RT_Code 00000000BFFC0000-00000000BFFC1FFF 0000000000000002 > 800000000002000F > RT_Data 00000000BFFC2000-00000000BFFC4FFF 0000000000000003 > 800000000000400F > RT_Code 00000000BFFC5000-00000000BFFC5FFF 0000000000000001 > 800000000002000F > RT_Data 00000000BFFC6000-00000000BFFC8FFF 0000000000000003 > 800000000000400F > RT_Code 00000000BFFC9000-00000000BFFCAFFF 0000000000000002 > 800000000002000F > RT_Data 00000000BFFCB000-00000000BFFFEFFF 0000000000000034 > 800000000000400F > BS_Data 00000000BFFFF000-00000000BFFFFFFF 0000000000000001 > 000000000000000F > Available 00000000C0000000-00000000FFFFFFFF 0000000000040000 > 000000000000000F > > On Thu, Nov 12, 2015 at 3:03 PM, Mark Rutland <mark.rutl...@arm.com> wrote: >> >> On Thu, Nov 12, 2015 at 11:35:28AM +0000, Leif Lindholm wrote: >> > Hi Ard, >> > >> > On Mon, Nov 09, 2015 at 02:18:58PM +0100, Ard Biesheuvel wrote: >> > > Mark all cached memory mappings as shareable (or inner shareable on >> > > AArch64) so that our view of memory is kept coherent by the hardware. >> > > >> > > This is primarily relevant under virtualization (where a guest may >> > > migrate >> > > to another core) but in general, since UEFI on ARM is mostly used in a >> > > context where the secure firmware and possibly a secure OS are already >> > > up >> > > and running, it is best to refrain from using any non-shareable >> > > mappings. >> > >> > Thanks, this is both an important correctness fix and nice code >> > cleanup. >> > >> > I ran into an issue while testing this, which is why I haven't >> > responded to this, but I've bisected it down to r18503/3a05b13, and am >> > looking into what causes an issue with Linux booting. >> >> FWIW, I had issues with that which Ard worked around for virtual >> machines in r18533/2f71ad11d6eaa2af ("ArmVirtPkg: reduce preallocation >> of boot services data pages"). >> >> You may be suffering a similar issue. >> >> Thanks, >> Mark. >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel