[ltt-dev] [RFC PATCH 0/7] priority-boost urcu

Paolo Bonzini pbonzini at redhat.com
Mon Aug 22 04:20:15 EDT 2011


On 08/20/2011 02:43 PM, Mathieu Desnoyers wrote:
> Hrm, beware though that the QSBR flavor has one major difference from
> the others: in 64-bit, it represents the G.P. as a 64-bit counter
> (rather than as a 1-bit latch), and can afford to do only one
> increment/waiting "phase" rather than two, because it assumes overflow
> can never happen on 64-bit.
>
> We cannot use this technique with other URCU flavors because we need to
> reserve bits to keep track of the nesting count within the reader
> threads in the same atomically accessible integer, so we don't have a
> full 64-bit atomically writeable G.P. snapshot value available in the
> reader threads.

Yes, I'm aware of that.  I had two alternative plans about it:

1) the QSBR files do have the code for the non-QSBR variant (for 
32-bit); pick one or the other based on the number of counter bits, 
rather than based on the word size.

2) do we need 2^32 nesting?  If the max. nesting count can be changed to 
2^8 or 2^16, non-QSBR flavors can start using the counter approach on 
64-bit too.

Paolo




More information about the lttng-dev mailing list