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 returned by online_cpus(). 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 <punitagrawal@xxxxxxxxx> --- rteval/misc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/rteval/misc.py b/rteval/misc.py index 0dd361ff19fd..ec3641e4a013 100644 --- a/rteval/misc.py +++ b/rteval/misc.py @@ -53,6 +53,7 @@ def online_cpus(): for c in glob.glob('/sys/devices/system/cpu/cpu[0-9]*'): num = str(c.replace('/sys/devices/system/cpu/cpu', '')) online_cpus.append(num) + online_cpus.sort(key=int) return online_cpus def invert_cpulist(cpulist): -- 2.32.0