On 12/21/21 20:27, John David Anglin wrote: > On 2021-12-21 1:45 p.m., Rolf Eike Beer wrote: >> Am Dienstag, 21. Dezember 2021, 19:33:16 CET schrieb John David Anglin: >>> Fix mask used to select futex spinlock. >>> >>> The address bits used to select the futex spinlock need to match those used >>> in the LWS code in syscall.S. The mask 0x3f8 only selects 7 bits. It >>> should select 8 bits. >> This change looks like this should become a helper macro or something like >> that so the code will stay in sync. Can the mask be shared with the LWS code >> with a constant while at it so it will also include that? > I understand the point but it's rather convoluted. We would need a macro for the assembly > code. Then the macro would need to be embedded in an asm for C. Then, there's the shift > for the int* type in the C code. > > I am proposing to rewrite this code so the spinlock pointer is only computed once, but Helge > wanted a change that could be easily back ported. Right. I think this is a small but important fix, which I can easily push back into older kernels. See Dave's other patch ("[PATCH v1] parisc: Rewrite light-weight syscall and futex code"). There he rewrote the code anyway. Helge