* Paolo Bonzini ([email protected]) 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 _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
