On Nov 22 2024, Linus Torvalds wrote: > Josh Poimboeuf reports that he got a "will-it-scale.per_process_ops 1.9% > improvement" report for his patch that changed __get_user() to use > pointer masking instead of the explicit speculation barrier. However, > that patch doesn't actually work in the general case, because some (very > bad) architecture-specific code actually depends on __get_user() also > working on kernel addresses. > > A profile showed that the offending __get_user() was the futex code, > which really should be fixed up to not use that horrid legacy case. > Rewrite futex_get_value_locked() to use the modern user acccess helpers, > and inline it so that the compiler not only avoids the function call for > a few instructions, but can do CSE on the address masking.
This breaks userspace on ppc32. As soon as /init in the initrd is started the kernel hangs (without any messages). -- Andreas Schwab, [email protected] GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
