Home
Support

Knowledge Base

BSPs and drivers
Community resources
Product documentation
Questions?
Contact us

Intel Hyperthreading in QNX Neutrino
 
________________________________________________________________________

Applicable Environment
________________________________________________________________________
  • Topic: Intel Hyperthreading in QNX Neutrino
  • SDP: 6.5.0
  • Target: Targets that support Intel Hyperthreading
________________________________________________________________________

Question
________________________________________________________________________

Some posts on community.qnx.com suggest that Intel Hyperthreading is best turned off in the BIOS when using QNX Neutrino. Is this true?

________________________________________________________________________

Recommendation
________________________________________________________________________

This is not necessarily true, although it is not necessarily untrue either. The Neutrino kernel treats a hyper-thread core the same way a 'real' core. For example, if a thread needs to run somewhere and the scheduler has to make the decision of what core to run it on, it does not differentiate between choosing a real or hyper-thread core. The hyper-thread core doesn't have the capabilities of a real core, so it may not make the most optimal decision. But, if you disable hyper-threading, you are losing a resource that can help improve performance. The trade-off is difficult to account for. My understanding is that in some situations, it may turn out to be better with HT disabled, in others, performance is higher with it on. It depends on some factors such as how many threads are being used, whether realtime is a concern, whether the threads are involved in QNX message passing, or doing pure math, whether floating point, or other work that a HT core may not be a good at....,etc...

Only thing I can recommend is to do some tests/simulations for yourself. Also, do some searching on the forums at community.qnx.com.

It could be that at some point we will implement a concept of 'preferred cores', which will help fix this problem. We could probably implement this as a custom engineering project as well, if you were interested.

________________________________________________________________________
NOTE: This entry has been validated against the SDP version listed above. Use caution when considering this advice for any other SDP version. For supported releases, please reach out to QNX Technical Support if you have any questions/concerns.
________________________________________________________________________


Related Attachments
 None Found





Please contact us with your questions or concerns.