with TSX, it's easier to efficiently wait (without polling) on multiple locations in hardware than in software, with futexes :|
@pkhuong Hmm, what's the issue with futexes (assuming you have futex_waitv)?
@shachaf ah yes, we finally have windows parity :)
@pkhuong I think this was literally added for WINE or something like that?
@pkhuong Though as @francesco pointed out recently, io_uring also supports futex_wait now, so you can wait on multiple addresses with that as well.
@shachaf @pkhuong and note that io_uring works through the futex2 API, so you can wait on multiple futexes with a single io_uring submission, if you so wish.