Am Montag, dem 08.07.2024 um 13:41 +0200 schrieb Enrico Scholz: > Lucas Stach <l.stach@xxxxxxxxxxxxxx> writes: > > > > I have a karo tx6s module (imx6s, 512 MiB RAM) which is shipped with an > > > ancient u-boot 2015 bootloader. > > > > > > barebox 2024.07 works out-of-the box on it. But under the booted linux > > > system a see a major regression in memory performance. > > > > The most likely cause is that Barebox applies the workaround for ARM > > erratum 845369, which has a major impact on streaming writes and thus > > both memset and memcpy performance. The old U-Boot probably does not > > include this workaround. > > > > You may check this theory by removing the call to > > enable_arm_errata_845369_war in imx6_cpu_lowlevel_init. > > Thanks; after disabling this workaround, benchmarks are reporting high > numbers again. > Note that while benchmarks are affected heavily, most real workloads don't exhibit a dramatic loss in performance, at least when they don't move a lot of data via the CPU, which is a bad idea on this platform anyway. > Would it make sense to enable this workaround conditionally? E.g. the > imx6s is not affected by this erratum because it has only one core and > no ACP. Yes, this might make sense. The call activating the workaround in imx6_cpu_lowlevel_init could be guarded by reading the number of available CPU cores from the SCU, only installing the workaround if there is more than a single CPU present. Regards, Lucas