Messages in this thread | | | Date | Thu, 3 May 2018 10:49:06 +0200 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH for 4.18 00/14] Restartable Sequences |
| |
On Wed, May 02, 2018 at 08:37:13PM +0000, Daniel Colascione wrote: > > Recursive locks are teh most horrible crap ever. And having the tid in > > What happened to providing mechanism, not policy? > > You can't wish away recursive locking. It's baked into Java and the CLR, > and it's enshrined in POSIX. It's not going away, and there's no reason not > to support it efficiently.
You can implement recursive locks just fine with a TID based word, just keep the recursion counter external to the futex word. If owner==self, increment etc..
> > the word allows things like kernel based optimistic spins and possibly > > PI related things. > > Sure. A lot of people don't want PI though, or at least they want to opt > into it. And we shouldn't require an entry into the kernel for what we can > in principle do efficiently in userspace.
Any additional PI would certainly be opt-in, but the kernel based spinning might make sense unconditionally.
| |