Skip to content

Commit 373b435

Browse files
committed
CPU (BSD): improve base freq detection
1 parent ace336d commit 373b435

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

src/detection/cpu/cpu_bsd.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,10 @@ const char* ffDetectCPUImpl(const FFCPUOptions* options, FFCPUResult* cpu)
7373
CPU_SET(1, &currentCPU);
7474
CPU_SET(2, &currentCPU);
7575
cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, -1, sizeof(cpuset_t), &currentCPU);
76-
ffCPUDetectSpeedByCpuid(cpu);
7776
#endif
7877

78+
ffCPUDetectSpeedByCpuid(cpu);
79+
7980
uint32_t clockrate = (uint32_t) ffSysctlGetInt("hw.clockrate", 0);
8081
if (clockrate > cpu->frequencyBase) cpu->frequencyBase = clockrate;
8182
cpu->temperature = FF_CPU_TEMP_UNSET;

src/detection/cpu/cpu_nbsd.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ const char* ffDetectCPUImpl(const FFCPUOptions* options, FFCPUResult* cpu)
5858
ffCPUDetectSpeedByCpuid(cpu);
5959

6060
uint32_t freq = (uint32_t) ffSysctlGetInt("machdep.cpu.frequency.target", 0);
61-
if (freq > cpu->frequencyBase)
62-
cpu->frequencyBase = freq;
61+
if (freq > cpu->frequencyBase) cpu->frequencyBase = freq;
6362

6463
cpu->temperature = FF_CPU_TEMP_UNSET;
6564

src/detection/cpu/cpu_obsd.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ const char* ffDetectCPUImpl(const FFCPUOptions* options, FFCPUResult* cpu)
1515

1616
ffCPUDetectSpeedByCpuid(cpu);
1717

18-
cpu->frequencyBase = (uint32_t) ffSysctlGetInt(CTL_HW, HW_CPUSPEED, 0);
18+
uint32_t cpuspeed = (uint32_t) ffSysctlGetInt(CTL_HW, HW_CPUSPEED, 0);
19+
if (cpuspeed > cpu->frequencyBase) cpu->frequencyBase = cpuspeed;
20+
1921
cpu->temperature = FF_CPU_TEMP_UNSET;
2022
if (options->temp)
2123
{

0 commit comments

Comments
 (0)