mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
chpstat: Fix scaling of DPU utilization calculation
chpstat incorrectly reports DPU utilization as fraction instead of percent. Fix this by scaling utilization values to 100%. Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com> Reviewed-by: Vineeth Vijayan <vneethv@linux.ibm.com> Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
54b3c9ef24
commit
e1692b7079
@@ -281,13 +281,17 @@ static void calc_ext_metrics(struct cmg_data_t *data, u32 ticks)
|
||||
if (cmcb->dpu_num_cores == 0)
|
||||
return;
|
||||
|
||||
/* dpu_util = dpu_exec_time_cpc / (t * dpu_num_cores) */
|
||||
/* dpu_util = 100 * dpu_exec_time_cpc / (t * dpu_num_cores) */
|
||||
delta = field_delta(dpu_exec_time_cpc, ext_a, ext_b);
|
||||
m->dpu_util = delta / ((double)ticks * cmcb->dpu_num_cores);
|
||||
m->dpu_util = 100.0 * delta / ((double)ticks * cmcb->dpu_num_cores);
|
||||
|
||||
/* dpu_util_total = dpu_channel_exec_time_cpc / (t * dpu_num_cores) */
|
||||
/*
|
||||
* dpu_util_total = 100 * dpu_channel_exec_time_cpc /
|
||||
* (t * dpu_num_cores)
|
||||
*/
|
||||
delta = field_delta(dpu_channel_exec_time_cpc, ext_a, ext_b);
|
||||
m->dpu_util_total = delta / ((double)ticks * cmcb->dpu_num_cores);
|
||||
m->dpu_util_total = 100.0 * delta /
|
||||
((double)ticks * cmcb->dpu_num_cores);
|
||||
|
||||
/* dpu_util_part = dpu_util_total * channel_work_units /
|
||||
* channel_work_units_cpc */
|
||||
|
||||
@@ -350,13 +350,17 @@ static void calc_ext_metrics(struct cmg_data_t *data, double seconds, u32 ticks)
|
||||
if (cmcb->dpu_num_cores == 0)
|
||||
return;
|
||||
|
||||
/* dpu_util = dpu_exec_time_cpc / (t * dpu_num_cores) */
|
||||
/* dpu_util = 100 * dpu_exec_time_cpc / (t * dpu_num_cores) */
|
||||
delta = field_delta(dpu_exec_time_cpc, ext_a, ext_b);
|
||||
m->dpu_util = delta / ((double)ticks * cmcb->dpu_num_cores);
|
||||
m->dpu_util = 100.0 * delta / ((double)ticks * cmcb->dpu_num_cores);
|
||||
|
||||
/* dpu_util_total = dpu_channel_exec_time_cpc / (t * dpu_num_cores) */
|
||||
/*
|
||||
* dpu_util_total = 100 * dpu_channel_exec_time_cpc /
|
||||
* (t * dpu_num_cores)
|
||||
*/
|
||||
delta = field_delta(dpu_channel_exec_time_cpc, ext_a, ext_b);
|
||||
m->dpu_util_total = delta / ((double)ticks * cmcb->dpu_num_cores);
|
||||
m->dpu_util_total = 100.0 * delta /
|
||||
((double)ticks * cmcb->dpu_num_cores);
|
||||
|
||||
/* dpu_util_part = dpu_util_total * channel_work_units /
|
||||
* channel_work_units_cpc */
|
||||
|
||||
Reference in New Issue
Block a user