[
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.