The current parker implementation is quite naive as it is rarely used. It could be improved by using an intrusive linked list to avoid allocations.
We could also use OS futexes on architectures that support 64-bit futex values, or mixed-size atomic accesses. On x86 we might also be able use futex (see https://github.com/rust-lang/unsafe-code-guidelines/issues/345), but unsure if we want to go there (also losing Miri support).
The current parker implementation is quite naive as it is rarely used. It could be improved by using an intrusive linked list to avoid allocations.
We could also use OS futexes on architectures that support 64-bit futex values, or mixed-size atomic accesses. On x86 we might also be able use futex (see https://github.com/rust-lang/unsafe-code-guidelines/issues/345), but unsure if we want to go there (also losing Miri support).