From: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx> online_cpus() returns a list of online cpus in arbitrary order. e.g., on a hexacore system it returns - ['5', '3', '1', '4', '2', '0'] Generally this wouldn't be a problem but the cyclictest.py module matches the unsorted list with the latencies output by "cyclictest" which are ordered by core number. This leads to incorrect reporting of per-core latencies in the final report generated by rteval. The issue was noticed when comparing the rteval report with cyclictest logs (enabled by a recent change). Fix the inconsistency in core numbering by sorting the list of cpus used by cyclictest.py module. As the cpus are represented as a string, sort with the integer key to avoid issues on systems with large number of cores. Signed-off-by: Punit Agrawal <punit1.agrawal@xxxxxxxxxxxxx> --- rteval/modules/measurement/cyclictest.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py index d3a0b045b9dd..50a734c75047 100644 --- a/rteval/modules/measurement/cyclictest.py +++ b/rteval/modules/measurement/cyclictest.py @@ -216,6 +216,10 @@ class Cyclictest(rtevalModulePrototype): else: self.__cpus = online_cpus() + # Sort the list of cpus to align with the order reported by + # cyclictest + self.__cpus.sort(key=int) + # Get the cpuset from the environment cpuset = os.sched_getaffinity(0) -- 2.33.0