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

Reply via email to