Messages in this thread |  | | Date | Thu, 21 Nov 2019 20:56:34 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v10 6/6] x86/split_lock: Enable split lock detection by kernel parameter |
| |
On Thu, Nov 21, 2019 at 09:51:03AM -0800, Andy Lutomirski wrote:
> Can we really not just change the lock asm to use 32-bit accesses for > set_bit(), etc? Sure, it will fail if the bit index is greater than > 2^32, but that seems nuts.
There are 64bit architectures that do exactly that: Alpha, IA64.
And because of the byte 'optimization' from x86 we already could not rely on word atomicity (we actually play games with multi-bit atomicity for PG_waiters and clear_bit_unlock_is_negative_byte).
Also, there's a fun paper on the properties of mixed size atomic operations for when you want to hurt your brain real bad:
https://www.cl.cam.ac.uk/~pes20/popl17/mixed-size.pdf
_If_ we're going to change the bitops interface, I would propose we change it to u32 and mandate every operation is indeed 32bit wide.
|  |