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

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Sat Aug 20 08:43:44 EDT 2011


* Paolo Bonzini (pbonzini at redhat.com) wrote:
> On 08/17/2011 07:31 AM, Mathieu Desnoyers wrote:
>> So I guess that in that sense, synchronize_rcu() of MB and QSBR could be
>> merged, is that what you are trying to get at ? (sorry for being slow on
>> the uptake);-)
>
> Yes, and perhaps MEMBARRIER too---leaving just SIGNAL as the oddball  
> one.  That's also why I started doing the futex optimization in QSBR.

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.

Thanks,

Mathieu

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list