I need to perform fine-precision performance measurements on MIC and experience considerable variance due to DVFS.
I was tracking the frequency and voltage using 'micinfo' tool with 1 second resolution. I did 2 experiment executions of exactly the same test and the results are attached. The first experiment was run just after resetting the coprocessor, and the initial frequency was 1.04 GHz. During the 1st experiment execution the frequency dropped from 1.04GHz to 0.84GHz. With the drop of frequency the clocksource changed from 'tsc' to less precise 'micetc'. During the 2nd experiment execution the frequency was 0.84GHz during the whole experiment, but the voltage changed as it is depicted on the chart. So can anybody clarify the following questions:
1. During changes of the voltage the frequency stays the same (except one discrete drop from 1.04GHz to 0.84GHz due to PROCHOT interrupt) according to the output of micinfo. But as far as I see in Datasheet (June, 2013) Figure 5-8 the frequency should drop together with voltage except Low Frequency Mode zone. So can I conclude from voltage change that coprocessor swithces to different P-states as voltage changes? And micinfo doesn't show exact value of the frequency, does it?
2. Is there a way to force the coprocessor to operate in the lowest possible voltage and frequency state Pn or any other user defined (say 960000uV)?
3. As I can see in System Software Developer Guide (June, 2013) Figure 3-1 there is User Mode PM console app to contol Power Management. Does anybody know the details for that app?
Below is dmesg output, Power Management Configuration and micinfo output.
dmesg output (during frequency drop from 1.04GHz to 0.84GHz):
[ 458.685498] PROCHOT interrupt
[ 459.180135] Clocksource tsc unstable (delta = -122042579 ns)
[ 459.180719] Switching to clocksource micetc
[ 516.684694] RAS.get_freq: core not running at expected frequency
[ 862.973207] PROCHOT interrupt
[ 862.982334] Setting maxfreq to 800000
[ 862.982355] Failed to update cpufreq policy
[ 863.132325] Setting maxfreq to 0
[ 863.132340] Failed to update cpufreq policy
Power Management was configured that way:
Here is the configuration of MIC I have:
Flash Version : 2.1.03.0386
SMC Firmware Version : 1.15.4830
SMC Boot Loader Version : 1.8.4326
uOS Version : 220.127.116.11+mpss3.1
Device Serial Number : ADKC25101431
Vendor ID : 0x8086
Device ID : 0x2250
Subsystem ID : 0x2500
Coprocessor Stepping ID : 3
PCIe Width : x16
PCIe Speed : 5 GT/s
PCIe Max payload size : 256 bytes
PCIe Max read req size : 512 bytes
Coprocessor Model : 0x01
Coprocessor Model Ext : 0x00
Coprocessor Type : 0x00
Coprocessor Family : 0x0b
Coprocessor Family Ext : 0x00
Coprocessor Stepping : B1
Board SKU : B1PRQ-5110P/5120D
ECC Mode : Enabled
SMC HW Revision : Product 225W Passive CS