On Mon Nov 6 16:28:16 2023 +0000, Yuxuan Shui wrote:
OK, I looked around a bit. `WaitOnAddress` has a size parameter, isn't that enough to indicate waiting on `owners` only? We don't need the non-four-byte-aligned-ness for that.
The problem is that RtlWakeByAddress doesn't specify a size. If 'owners' is the first field, we can't distinguish between waking exclusive and shared waiters anymore. That's correct (I think?) but it means more spurious wakeups.