[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Architecture baseline for Forky



On Thu, Oct 30, 2025, at 09:47, Peter Green wrote:
> On 30/10/2025 08:28, Arnd Bergmann wrote:
>> On Thu, Oct 30, 2025, at 06:39, Peter Green wrote:
>>> The problem is that arm64 kernels by default trap the armv6k memory
>>> barriers into the kernel and emulate them. Asside from being slow
>>> this can also cause hangs if the optimiser moves a barrier inside
>>> a load-exclusive/store-exclusive loop.
>> Right, this is very unfortunate, and I suspect that this is something
>> we should change in both the arm64 kernel and in the compiler. If
>> you can point me to specific userspace code that has this problem,
>> I can probably come up with a kernel patch to work around it,
>> at least if that userspace code isn't obviously wrong.
> https://github.com/rust-lang/rust/issues/53670

Thanks for the pointer! This strongly suggests that the bug is
in llvm itself, not in userspace applications or the kernel.
I think the armv7-a version of the reproducer shows the same bug,
though that happens to work. This is probably one of the cases
where we want a compiler fix first, but can then add a workaround
in the host kernel (enabling the instruction itself instead of
the emulation where possible, same as the Raspberry Pi downstream
kernel does).

     Arnd


Reply to: