From: Sebastien GODARD Date: Thu, 24 Feb 2022 08:38:26 +0000 (+0100) Subject: A_IRQ: Also optimize get_global_int_statistics() function X-Git-Tag: v12.5.6~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=947ab11a877eb1bbd5a46e1fa46050d5b20b5da5;p=sysstat A_IRQ: Also optimize get_global_int_statistics() function Signed-off-by: Sebastien GODARD --- diff --git a/sa_common.c b/sa_common.c index 7a116c2..1535e3a 100644 --- a/sa_common.c +++ b/sa_common.c @@ -3309,13 +3309,6 @@ void get_global_int_statistics(struct activity *a, int prev, int curr, stc_cpu_sum = (struct stats_irq *) ((char *) a->buf[curr] + i * a->msize * a->nr2); stp_cpu_sum = (struct stats_irq *) ((char *) a->buf[prev] + i * a->msize * a->nr2); - if (stc_cpu_sum->irq_nr == 0) { - /* Assume current CPU is offline */ - masked_cpu_bitmap[i >> 3] |= 1 << (i & 0x07); - memcpy(stc_cpu_sum, stp_cpu_sum, a->msize * a->nr2); - continue; - } - /* * Check if current CPU is back online but with no previous sample for it, * or if it has not been selected. @@ -3324,7 +3317,15 @@ void get_global_int_statistics(struct activity *a, int prev, int curr, (!(a->bitmap->b_array[i >> 3] & (1 << (i & 0x07))))) { /* CPU should not be displayed */ masked_cpu_bitmap[i >> 3] |= 1 << (i & 0x07); + continue; } + + if (stc_cpu_sum->irq_nr == 0) { + /* Assume current CPU is offline */ + masked_cpu_bitmap[i >> 3] |= 1 << (i & 0x07); + memcpy(stc_cpu_sum, stp_cpu_sum, a->msize * a->nr2); + } + } }