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 | |
|---|---|
| Introduction | Introduction to the series and interrogation of the machine |
| Benchmarks | Benchmarking the Beelink EQi 304 Mini PC |
| Power | Testing and comparing the power consumption |
| BIOS | The BIOS, which stands for Basic Input/Output System, plays a crucial role |
| Cores | P-core and LP Efficient-cores examined |
| Noise | How quiet is this mini PC? |
| NPU and Llama | Testing the NPU with Llama models |
| Scheduling | Can Linux use its one fast CPU core efficiently? |

Please read our Comment Policy before commenting.