[ 
https://issues.apache.org/jira/browse/QPID-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622888#action_12622888
 ] 

Ted Ross commented on QPID-1160:
--------------------------------

Steve,

I think this is necessary, thanks for pointing it out.  As long as the 
platform-specific ifdef is isolated to a single place in qpid/sys, I think it's 
OK.

Why did you call it QPID_TSS?  Might QPID_THREAD_LOCAL be clearer?

-Ted


> Mutex/Lock avoidance in management agent interface
> --------------------------------------------------
>
>                 Key: QPID-1160
>                 URL: https://issues.apache.org/jira/browse/QPID-1160
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: M3
>            Reporter: Ted Ross
>            Assignee: Ted Ross
>            Priority: Minor
>             Fix For: M3
>
>
> For management purposes, the C++ broker tracks statistics per-queue, 
> exchange, and binding.  These statistics counters are necessarily incremented 
> in the message forwarding fast-path and therefore must have very low 
> performance cost.
> There is an issue with the multi-threaded nature of the C++ broker in that 
> counter increments must be thread-safe or else they will become corrupt in a 
> short time.  The current code base uses mutexes to protect the counters but 
> this defeats the benefit of having multiple worker threads because counter 
> contention causes the threads to stall while waiting for one another.
> This issue has been created to track the fix for this performance problem in 
> the broker.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to