Tool/software:
We have an application use-case that is sensitive to context switching inefficiency. We see meaningfully reduced benchmark results as we move to newer versions of the Linux SDK. Using the AM64x development kit we collected data using both stress-ng and perf bench:
- stress-ng --context 1 --perf --metrics-brief --timeout 5s
- perf bench sched
To provide rough numbers from the stress-ng results, we see 1100 ops/s (Linux SDK 08.06.00.42, 5.10 kernel) -> 755 ops/s (Linux SDK 09.02.01.10, 6.1 kernel) -> 710 ops/s (Linux SDK 10.01.10.04, 6.6 kernel). The magnitude of difference is similar in perf bench results, and we see the same kind of impact when tracing and profiling our own applications.
We're seeking some help driving down the difference. Thanks!