From 71b794df0138586088f6c1047f71f12773fb39b4 Mon Sep 17 00:00:00 2001 From: Sebastien GODARD Date: Fri, 11 Feb 2022 11:21:30 +0100 Subject: [PATCH] A_IRQ: sadf: Display 0.00 when number of interrupts decreases See commit 5c15058. Signed-off-by: Sebastien GODARD --- json_stats.c | 1 + rndr_stats.c | 15 ++++++++++++--- xml_stats.c | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/json_stats.c b/json_stats.c index cb139ea..5b989ea 100644 --- a/json_stats.c +++ b/json_stats.c @@ -376,6 +376,7 @@ __print_funct_t json_print_irq_stats(struct activity *a, int curr, int tab, /* Yes: Display it */ if (!c) { printf(", \"all\": %.2f", + (stc_cpu_irq->irq_nr < stp_cpu_irq->irq_nr) ? 0.0 : S_VALUE(stp_cpu_irq->irq_nr, stc_cpu_irq->irq_nr, itv)); } else { diff --git a/rndr_stats.c b/rndr_stats.c index 34a78b9..e7ea015 100644 --- a/rndr_stats.c +++ b/rndr_stats.c @@ -521,6 +521,7 @@ __print_funct_t render_irq_stats(struct activity *a, int isdb, char *pre, struct stats_irq *stc_cpu_irq, *stp_cpu_irq, *stc_cpuall_irq; unsigned char masked_cpu_bitmap[BITMAP_SIZE(NR_CPUS)] = {0}; char cpu_name[32], ppc_txt[512]; + double dval; /* @nr[curr] cannot normally be greater than @nr_ini */ if (a->nr[curr] > a->nr_ini) { @@ -554,12 +555,20 @@ __print_funct_t render_irq_stats(struct activity *a, int isdb, char *pre, /* No */ continue; + /* Compute value to be displayed */ + dval = S_VALUE(stp_cpu_irq->irq_nr, stc_cpu_irq->irq_nr, itv); + /* Yes: Display it */ if (!c) { strcpy(cpu_name, "all"); + + /* If number of int has decreased for CPU "all" then display 0.00 */ + if (stc_cpu_irq->irq_nr < stp_cpu_irq->irq_nr) { + dval = 0.0; + } } else { - snprintf(cpu_name, sizeof(cpu_name), "CPU%d", c - 1); + snprintf(cpu_name, sizeof(cpu_name), "cpu%d", c - 1); cpu_name[sizeof(cpu_name) - 1] = '\0'; } snprintf(ppc_txt, sizeof(ppc_txt), "%s\t%s", stc_cpuall_irq->irq_name, cpu_name); @@ -571,7 +580,7 @@ __print_funct_t render_irq_stats(struct activity *a, int isdb, char *pre, isdb ? cons(sv, stc_cpuall_irq->irq_name, NULL) : cons(sv, ppc_txt, NULL), NOVAL, - S_VALUE(stp_cpu_irq->irq_nr, stc_cpu_irq->irq_nr, itv), + dval, NULL); first = FALSE; } @@ -580,7 +589,7 @@ __print_funct_t render_irq_stats(struct activity *a, int isdb, char *pre, "%s", NULL, cons(sv, ppc_txt, NULL), NOVAL, - S_VALUE(stp_cpu_irq->irq_nr, stc_cpu_irq->irq_nr, itv), + dval, NULL); } } diff --git a/xml_stats.c b/xml_stats.c index 2480fdd..a01a12d 100644 --- a/xml_stats.c +++ b/xml_stats.c @@ -361,6 +361,7 @@ __print_funct_t xml_print_irq_stats(struct activity *a, int curr, int tab, if (!c) { xprintf(tab, "", stc_cpuall_irq->irq_name, + (stc_cpu_irq->irq_nr < stp_cpu_irq->irq_nr) ? 0.0 : S_VALUE(stp_cpu_irq->irq_nr, stc_cpu_irq->irq_nr, itv)); } else { -- 2.50.1