Skip to content

Commit cafb47b

Browse files
kaushlenlenb
authored andcommitted
tools/power turbostat: Fix incorrect sorting of PMT telemetry
The pmt_telemdir_sort() comparison function was returning a boolean value (0 or 1) instead of the required negative, zero, or positive value for proper sorting. This caused unpredictable and incorrect ordering of telemetry directories named telem0, telem1, ..., telemN. Update the comparison logic to return -1, 0, or 1 based on the numerical value extracted from the directory name, ensuring correct numerical ordering when using scandir. This change improves stability and correctness when iterating PMT telemetry directories. Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
1 parent 038d61f commit cafb47b

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

tools/power/x86/turbostat/turbostat.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1649,7 +1649,7 @@ int pmt_telemdir_sort(const struct dirent **a, const struct dirent **b)
16491649
sscanf((*a)->d_name, "telem%u", &aidx);
16501650
sscanf((*b)->d_name, "telem%u", &bidx);
16511651

1652-
return aidx >= bidx;
1652+
return (aidx > bidx) ? 1 : (aidx < bidx) ? -1 : 0;
16531653
}
16541654

16551655
const struct dirent *pmt_diriter_next(struct pmt_diriter_t *iter)

0 commit comments

Comments
 (0)