PI futexes - allocations required?

From: Bryan Donlan
Date: Wed Jun 24 2009 - 12:16:49 EST


When I was reading the futex.c code, I noticed that locking a PI mutex
can apparently cause an allocation, via alloc_pi_state() and
refill_pi_state_cache(). Doesn't this mean that memory allocation (and
the corresponding possible IO latency) could be introduced into
real-time code - the primary user of PI mutexes?

Am I missing something here, or is some sort of PI mutex "prefaulting"
needed to avoid allocation when taking PI locks? It would seem that
the sleeps and unbounded latency that a GFP_KERNEL allocation can
introduce would make these unusable for real-time code...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/