Re: [patch V2 2/7] futex: Hash private futexes per process

From: Peter Zijlstra
Date: Mon May 30 2016 - 09:49:29 EST


On Mon, May 30, 2016 at 03:37:48PM +0200, Sebastian Andrzej Siewior wrote:
> Yes, I did not try to discuss the hash collision away. From RT's point
> of view the problems I am aware are of the following scenario:
> Task #1 pinned to CPU1 task #2 pinned to CPU2 but share the same
> bucket. Task #2 got a wakeup and should run but is blocked on the
> bucket lock - otherwise it could run. Usually it would PI-boost task#1
> but task#1 got preempted itself by task and since task#1 prio is lower
> it can't boost its way free towards the lock and so so CPU #2 may
> remain idle for some time.
>
> The same thing can happen within a Task if you take my story from above
> and replace task with thread. Completely understood.

Right; so I don't see the point of PREALLOCATE_HASH to cater for RT
workloads if it still doesn't guarantee anything, esp. if the failure
case is silent and obscure.