HomeFreeBSD

umtx: Add bitset conditional wakeup functionality.

Description

umtx: Add bitset conditional wakeup functionality.

The bitset is a Linux emulation layer extension. This 32-bit mask, in which at
least one bit must be set, is used to select which threads should be woken up.

The bitset is stored in the umtx_q structure, which is used to enqueue the waiter
into the umtx waitqueue. Put the bitset into the hole, that appeared on LP64 due
to data alignment, to prevent the growth of the struct umtx_q.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D31234
MFC after: 2 weeks

Details

Provenance
dchaginAuthored on Jul 29 2021, 9:42 AM
Reviewer
kib
Differential Revision
D31234: umtx: Add bitset member to the struct umtx_q.
Parents
R10:1fdcc87cfd67: umtx: Expose some of the umtx structures and API to the rest of the kernel.
Branches
Unknown
Tags
Unknown