[
https://issues.apache.org/jira/browse/DISPATCH-1342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16872379#comment-16872379
]
ASF GitHub Bot commented on DISPATCH-1342:
------------------------------------------
franz1981 commented on issue #508: DISPATCH-1342 Replaced mutex with spin lock
on qd_message content
URL: https://github.com/apache/qpid-dispatch/pull/508#issuecomment-505461704
@astitcher
I believe that the doc of spin lock is excessively conservative TBH (with
good reasons, given how many archs it has to cover), but it gives nice hints to
make things more resilient on not properly configured box/limited machines.
Although not written on the stone, the router need at least 2 HW threads to
run properly (1 core + 1 I/O worker) and it's true that a single core machine
with HyperThread will suffer by using spin locks. Same things can be said if
you run the router configuring (much) more threads then real cores...
In those cases I'm not quite sure the router will perform optimally, but
makes sense to account for them too: in all the other cases, assuming the
previous correctness conditions to be met, I believe using spin locks would be
just a win resource-wise, given the peculiar design of the router (no thread
pools, just fixed size thread).
I suggest, if not possible to accept this PR, to consider pooling mutexes to
reduce the allocation/deallocation rate for such heavyweight kernel resources.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Replaced mutex with spin lock on qd_message content
> ---------------------------------------------------
>
> Key: DISPATCH-1342
> URL: https://issues.apache.org/jira/browse/DISPATCH-1342
> Project: Qpid Dispatch
> Issue Type: Improvement
> Components: Routing Engine
> Affects Versions: 1.7.0
> Reporter: Francesco Nigro
> Priority: Minor
>
> Given that qd_message creation and qd_message_free involves sys_mutex
> allocation/free and they are OS resources too, using spin locks will reduce
> the CPU/memory usage while performing such frequent operations.
> In addition it would make the router more reactive and resilient to OS thread
> scheduling while message->content is being concurrently accessed too, given
> that such accesses are meant to not last long and there is no need to involve
> OS arbitration to park/awake threads,
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]