Recently, my project is facing a issue in QNX system that CPU is operating in a low frequency even in a higer load.
My CPU Processor information is Xeon D-1539, the spec: https://www.intel.com/content/www/us/en/products/sku/91200/intel-xeon-processor-d1539-12m-cache-1-60...
In Linux, Intel Turbo Boost Tech can max operating frequency, QNX still not cover this model.
My question is after a workaround how to fix CPU frequency with some ways like configure some MSRs
Thank you for posting on the Intel® communities.
In order to provide you with support in regard to this inquiry, we will need you to provide the following report and information:
Intel® System Support Utility for the Linux* Operating System
- What exactly is the project that you are using this processor for? Please provide as many details as possible.
- Did the issue with the frequency happen after any software or hardware changes in your system or has it always been like this since you first started with your project?
- Have you had the chance to experience this behavior with any other operating system?
- Can you please share with us what steps of troubleshooting have you tried so far to deal with this situation?
It is worth mentioning that when it comes to frequency this processor has a base frequency of 1.60 GHz and a turbo frequency of 2.20 GHz, these two values should be achieved if the operating environment meaning the overall assembling of both components, and software allows it; therefore, please take into consideration that processors, in general, do not run at their maximum frequency all the time. What the processor does is automatically select the best frequency depending on the workload demand. If the workload demand is high and there are no physical constraints, then the processor may operate at or close to the turbo frequency.
Make sure that your system does not have physical constraints that will prevent the processor from reaching its max turbo frequency. Examples of the physical constraints of the processor could be power delivery and thermal solution.
- Make sure your processor thermal cooling solution is appropriate for your system.
- Make sure your BIOS is up to date and/or reset BIOS to its default.
- Make sure the Turbo option (if available in the BIOS) is not disabled. In general, it should be enabled by default. Consult your motherboard/BIOS manufacturer on how to enable Turbo in the BIOS.
I look forward to hearing from you.
Intel Technical Support Technician
In addition to the recommendations that we have provided, it is recommended to reach the original equipment manufacturer, to evaluate the system performance.
Intel Customer Support Technician
Thank you for the information. I did much cross comparison between Linux and QNX system in the same hardware and the same BIOS setting.
Performance measurement is by the same basic cpu bench mark(just int calculation and float point calculation) as well as CPUs frequency observation.
In Linux OS, CPUs operating frequency can reach round 22*100M Hz. Linux OS uses intel_pstate driver with active mode, without HWP feature.
In QNX OS, I compile a program like cpufreq, each CPU logical core running a thread which does accounting performance and regularly set
CPU Info for one core:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 86
model name : Intel(R) Xeon(R) CPU D-1539 @ 1.60GHz
stepping : 3
microcode : 0x7000019
cpu MHz : 1156.204
cache size : 12288 KB
physical id : 0
siblings : 16
core id : 0
cpu cores : 8
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap intel_pt xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit
bogomips : 3192.58
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual