Messages in this thread | | | Date | Fri, 26 Apr 2024 12:14:38 +0200 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH 0/1] Add FUTEX_SPIN operation |
| |
On Fri, Apr 26, 2024 at 11:43:51AM +0200, Florian Weimer wrote: > * André Almeida: > > > With FUTEX2_SPIN flag set during a futex_wait(), the futex value is > > expected to be the PID of the lock owner. Then, the kernel gets the > > task_struct of the corresponding PID, and checks if it's running. It > > spins until the futex is awaken, the task is scheduled out or if a > > timeout happens. If the lock owner is scheduled out at any time, then > > the syscall follows the normal path of sleeping as usual. > > PID or TID?
TID, just like PI_LOCK I would presume.
> I think we'd like to have at least one, possibly more, bits for free > use, so the kernel ID comparison should at least mask off the MSB, > possibly more.
Yeah, it should be using FUTEX_TID_MASK -- just like PI_LOCK :-)
I suppose the question is if this thing should then also imply FUTEX_WAITERS or not.
| |