Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - possible performance lag with core affinities using _devctl(): (2 Items)
   
possible performance lag with core affinities using _devctl()  
We explicitly sets the CPU affinity on every thread switch, usually it narrows it down to the CPU the thread is running 
on when a thread became RUNNING and it widens it to all CPUs before the thread becomes READY or BLOCKED.  We see that 
thread switch overhead on QNX is significantly higher than on Linux, one benchmarks runs 4x slower. We suspect that the 
relatively complex affinity setting code might be the culprit, in particular the case in which  _devctl() is used. 

Is there any knowledge about known performance bottlenecks regarding this?
I have attached a segment of our glue layer sources that use this call.
The function showing the _devctl() usage is:
"JAMAICA_LOCAL int jamaicaNativeQNXThread_runmask_get_and_set"

Thanks,
David Beberman
aicas
Attachment: Text jamaica_native_thread.c 10.73 KB
Re: possible performance lag with core affinities using _devctl()  
Yes, open/_devctl/close is much more expensive than ThreadCtl

You're trying to prevent migrations?

On 2014-09-24, 4:00 AM, David Beberman wrote:
> We explicitly sets the CPU affinity on every thread switch, usually it narrows it down to the CPU the thread is 
running on when a thread became RUNNING and it widens it to all CPUs before the thread becomes READY or BLOCKED.  We see
 that thread switch overhead on QNX is significantly higher than on Linux, one benchmarks runs 4x slower. We suspect 
that the relatively complex affinity setting code might be the culprit, in particular the case in which  _devctl() is 
used.
>
> Is there any knowledge about known performance bottlenecks regarding this?
> I have attached a segment of our glue layer sources that use this call.
> The function showing the _devctl() usage is:
> "JAMAICA_LOCAL int jamaicaNativeQNXThread_runmask_get_and_set"
>
> Thanks,
> David Beberman
> aicas
>
>
>
>
> _______________________________________________
>
> OSTech
> http://community.qnx.com/sf/go/post111862
> To cancel your subscription to this discussion, please e-mail ostech-core_os-unsubscribe@community.qnx.com