-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9698/#review17800
-----------------------------------------------------------


I'm not sure I see the point of this latest change. The only reason to switch 
from mutex to rwlock is if we think it will result in an obervable improvement 
in concurrency. Is that the case? (Previous exeriments have actually found that 
on linux at least the mutex is generally more performant even in highly 
concurrent tests due to a more efficient underlying implementation). (I'll also 
note that the direct exchange is the one exchange that already has a basic 
atomic binding change function).

- Gordon Sim


On March 12, 2013, 3:35 p.m., Chug Rolke wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9698/
> -----------------------------------------------------------
> 
> (Updated March 12, 2013, 3:35 p.m.)
> 
> 
> Review request for qpid, Andrew Stitcher, Alan Conway, Gordon Sim, and Ted 
> Ross.
> 
> 
> Description
> -------
> 
> * Move Topic exchange RWlock up into the parent exchange class and call it 
> 'bindingLock'.
> 
> * In Topic exchange take RWlock out of the derived class and use the parent's 
> lock.
> * In Direct and Headers exchanges change the semantics of the current lock to 
> use the Topic exchange pattern.
> * In FanOut exchange add locks at the same places as in the other exchanges 
> except only use Rlock. FanOut receives the locking it needs from the 
> CopyOnWriteArray and does not need anything else. By adding only Rlocks 
> threads will never block in the normal case. However, the Rlocks are the 
> hooks that the new application will need to freeze the exchange when that app 
> takes out the Wlock.
> 
> 
> This addresses bug QPID-4616.
>     https://issues.apache.org/jira/browse/QPID-4616
> 
> 
> Diffs
> -----
> 
>   trunk/qpid/cpp/src/qpid/broker/DirectExchange.h 1455571 
>   trunk/qpid/cpp/src/qpid/broker/DirectExchange.cpp 1455571 
>   trunk/qpid/cpp/src/qpid/broker/HeadersExchange.h 1455571 
>   trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp 1455571 
>   trunk/qpid/cpp/src/qpid/broker/TopicExchange.h 1455571 
> 
> Diff: https://reviews.apache.org/r/9698/diff/
> 
> 
> Testing
> -------
> 
> Passes normal self tests
> 
> 
> Thanks,
> 
> Chug Rolke
> 
>

Reply via email to