Commit 7c2ccc50 authored by Chen Yu's avatar Chen Yu Committed by Len Brown
Browse files

tools/power turbostat: Make the energy variable to be 64 bit



Change the energy variable from 32bit to 64bit,
so that it can record long time duration.
After this conversion, adjust the DELTA_WRAP32() accordingly.

Signed-off-by: default avatarChen Yu <yu.c.chen@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 9aefc2cd
Loading
Loading
Loading
Loading
+13 −17
Original line number Diff line number Diff line
@@ -211,12 +211,12 @@ struct pkg_data {
	long long gfx_rc6_ms;
	unsigned int gfx_mhz;
	unsigned int package_id;
	unsigned int energy_pkg;	/* MSR_PKG_ENERGY_STATUS */
	unsigned int energy_dram;	/* MSR_DRAM_ENERGY_STATUS */
	unsigned int energy_cores;	/* MSR_PP0_ENERGY_STATUS */
	unsigned int energy_gfx;	/* MSR_PP1_ENERGY_STATUS */
	unsigned int rapl_pkg_perf_status;	/* MSR_PKG_PERF_STATUS */
	unsigned int rapl_dram_perf_status;	/* MSR_DRAM_PERF_STATUS */
	unsigned long long energy_pkg;	/* MSR_PKG_ENERGY_STATUS */
	unsigned long long energy_dram;	/* MSR_DRAM_ENERGY_STATUS */
	unsigned long long energy_cores;	/* MSR_PP0_ENERGY_STATUS */
	unsigned long long energy_gfx;	/* MSR_PP1_ENERGY_STATUS */
	unsigned long long rapl_pkg_perf_status;	/* MSR_PKG_PERF_STATUS */
	unsigned long long rapl_dram_perf_status;	/* MSR_DRAM_PERF_STATUS */
	unsigned int pkg_temp_c;
	unsigned long long counter[MAX_ADDED_COUNTERS];
} *package_even, *package_odd;
@@ -858,13 +858,13 @@ int dump_counters(struct thread_data *t, struct core_data *c,
		outp += sprintf(outp, "pc10: %016llX\n", p->pc10);
		outp += sprintf(outp, "cpu_lpi: %016llX\n", p->cpu_lpi);
		outp += sprintf(outp, "sys_lpi: %016llX\n", p->sys_lpi);
		outp += sprintf(outp, "Joules PKG: %0X\n", p->energy_pkg);
		outp += sprintf(outp, "Joules COR: %0X\n", p->energy_cores);
		outp += sprintf(outp, "Joules GFX: %0X\n", p->energy_gfx);
		outp += sprintf(outp, "Joules RAM: %0X\n", p->energy_dram);
		outp += sprintf(outp, "Throttle PKG: %0X\n",
		outp += sprintf(outp, "Joules PKG: %0llX\n", p->energy_pkg);
		outp += sprintf(outp, "Joules COR: %0llX\n", p->energy_cores);
		outp += sprintf(outp, "Joules GFX: %0llX\n", p->energy_gfx);
		outp += sprintf(outp, "Joules RAM: %0llX\n", p->energy_dram);
		outp += sprintf(outp, "Throttle PKG: %0llX\n",
			p->rapl_pkg_perf_status);
		outp += sprintf(outp, "Throttle RAM: %0X\n",
		outp += sprintf(outp, "Throttle RAM: %0llX\n",
			p->rapl_dram_perf_status);
		outp += sprintf(outp, "PTM: %dC\n", p->pkg_temp_c);

@@ -1210,11 +1210,7 @@ void format_all_counters(struct thread_data *t, struct core_data *c, struct pkg_
}

#define DELTA_WRAP32(new, old)			\
	if (new > old) {			\
		old = new - old;		\
	} else {				\
		old = 0x100000000 + new - old;	\
	}
	old = ((((unsigned long long)new << 32) - ((unsigned long long)old << 32)) >> 32);

int
delta_package(struct pkg_data *new, struct pkg_data *old)