Beelink Mini PC

Beelink EQi 304: Can Linux Make Proper Use of Its One Fast CPU Core?

Conclusions

The Core 3 304 gives Linux very little room to hide poor scheduling decisions. There is one P-core and four LP E-cores, yet the scheduler generally used them intelligently.

A lone OpenSSL workload that benefits substantially from CPU 0 spent 99.8% of its execution time on the P-core. When five nice-19 jobs saturated the processor and a normal-priority workload arrived, that workload was immediately placed on the P-core and remained there throughout the test.

The four-background-worker test was particularly revealing. Linux did not waste the P-core by keeping it idle for hypothetical future work. It used CPU 0 when that increased useful throughput, while the priority test showed that more important work could take precedence when necessary.

When six equal-priority workloads competed for five cores, Linux shared the P-core rather than arbitrarily reserving it for one process. Explicit affinity worked perfectly, but my results provide little reason to manage CPU placement manually for normal workloads.

The pinned benchmarks also show that CPU 0 is not universally the best choice: OpenSSL strongly favoured the P-core, while sysbench’s CPU workload was substantially faster on the LP E-cores. Scheduling heterogeneous processors is about matching work to available resources, not simply putting everything on the highest-frequency core.

Yes. Linux makes good use of the Core 3 304’s single P-core, using it when it is useful, sharing it fairly between equal-priority work, and favouring higher-priority work when the processor is under contention.

Pages in this article:
Page 1 – Introduction and Core Layout
Page 2 – Single-Thread Scheduling and Core Performance
Page 3 – Foreground versus Background Work
Page 4 – Does Linux Keep the P-core in Reserve?
Page 5 – What Happens When Every Core Is Busy?
Page 6 – Conclusions


Complete list of articles in this series:

Beelink EQi 304 Mini PC
IntroductionIntroduction to the series and interrogation of the machine
BenchmarksBenchmarking the Beelink EQi 304 Mini PC
PowerTesting and comparing the power consumption
BIOSThe BIOS, which stands for Basic Input/Output System, plays a crucial role
CoresP-core and LP Efficient-cores examined
NoiseHow quiet is this mini PC?
NPU and LlamaTesting the NPU with Llama models
SchedulingCan Linux use its one fast CPU core efficiently?
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted