Skip to content

Commit

Permalink
tools/power turbostat: Consolidate graphics sysfs access
Browse files Browse the repository at this point in the history
Currently, there is an inconsistency in how graphics sysfs knobs are
accessed: graphics residency sysfs knobs are opened and closed for each
read, while graphics frequency sysfs knobs are opened once and remain
open until turbostat exits. This inconsistency is confusing and adds
unnecessary code complexity.

Consolidate the access method by opening the sysfs files once and
reusing the file pointers for subsequent accesses. This approach
simplifies the code and ensures a consistent method for accessing
graphics sysfs knobs.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Zhang Rui authored and Len Brown committed Nov 30, 2024
1 parent ba99a4f commit d071004
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions tools/power/x86/turbostat/turbostat.c
Original file line number Diff line number Diff line change
Expand Up @@ -5764,27 +5764,24 @@ int snapshot_proc_interrupts(void)
*/
int snapshot_graphics(int idx)
{
FILE *fp;
int retval;

if (gfx_info[idx].fp == NULL)
gfx_info[idx].fp = fopen_or_die(gfx_info[idx].path, "r");
else
rewind(gfx_info[idx].fp);

switch (idx) {
case GFX_rc6:
case SAM_mc6:
fp = fopen_or_die(gfx_info[idx].path, "r");
retval = fscanf(fp, "%lld", &gfx_info[idx].val_ull);
retval = fscanf(gfx_info[idx].fp, "%lld", &gfx_info[idx].val_ull);
if (retval != 1)
err(1, "rc6");
fclose(fp);
return 0;
case GFX_MHz:
case GFX_ACTMHz:
case SAM_MHz:
case SAM_ACTMHz:
if (gfx_info[idx].fp == NULL)
gfx_info[idx].fp = fopen_or_die(gfx_info[idx].path, "r");
else
rewind(gfx_info[idx].fp);

retval = fscanf(gfx_info[idx].fp, "%d", &gfx_info[idx].val);
if (retval != 1)
err(1, "MHz");
Expand Down

0 comments on commit d071004

Please sign in to comment.