Hello, 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. E.g. u-boot has | # hdparm -tT /dev/mmcblk3 | Timing cached reads: 1236 MB in 2.00 seconds = 618.46 MB/sec while barebox shows only | Timing cached reads: 574 MB in 2.00 seconds = 287.08 MB/sec Running tinymembench[1] shows that pure memory read operations are not affected; e.g. both variants report around | NEON read : 1398.5 MB/s But write operations differ by a factor of 4-5: | standard memset : 2054.4 MB/s on u-boot vs. barebox with | standard memset : 472.7 MB/s I modified barebox to use the same DCD like u-boot; resulting MMDC registers are nearly identical[2]. /sys/kernel/debug/clk/clk_summary is also nearly the same (only LVDS1_SEL (unused) has another parent). TZASC is not used. GPRx registers are identical. Systems are running with linux 6.6 and master on an initrd. Disabling L2 cache in linux slows down things, but the relative results are similar (no difference in read, memset 322.3 MB/s -> 728.5 MB/s). Building barebox with CONFIG_MMU disabled makes no difference. Looking at another iMX6 system shows similar bad numbers for barebox. E.g. an iMX6QP has a memset rate of 613.6 MB/s. But I do not have u-boot available for comparision. What could be the reason the u-boot is so much faster? Which memory related settings are carried over from the bootloader to linux? What could I test else? Enrico Footnotes: [1] https://github.com/ssvb/tinymembench, from OE scarthgap [2] -0x021b0848: 0x484c494b +0x021b0848: 0x474b4a4b -0x021b084c: 0x2a2d2b2c +0x021b084c: 0x2a2c2c2c -0x021b0868: 0x791a7e18 +0x021b0868: 0x7a1a7e18 -0x021b086c: 0x7a177e1a +0x021b086c: 0x78177c1a - --> barebox, + --> u-boot