From: Jan Beulich Date: Thu, 4 Jul 2019 15:42:25 +0000 (+0200) Subject: x86/IRQ: add explicit tracing-enabled check to trace_irq_mask() X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=92b80e3e3dfacf389cff797580b3806576051dfd;p=people%2Fdwmw2%2Fxen.git x86/IRQ: add explicit tracing-enabled check to trace_irq_mask() The setup for calling trace_var() (which itself checks tb_init_done) is non-negligible, and hence a separate outer-most check is warranted. Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monné Acked-by: Andrew Cooper --- diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 94682e4d58..2cac28aafb 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -99,8 +99,8 @@ void unlock_vector_lock(void) spin_unlock(&vector_lock); } -static void trace_irq_mask(uint32_t event, int irq, int vector, - const cpumask_t *mask) +static void _trace_irq_mask(uint32_t event, int irq, int vector, + const cpumask_t *mask) { struct { unsigned int irq:16, vec:16; @@ -115,6 +115,13 @@ static void trace_irq_mask(uint32_t event, int irq, int vector, trace_var(event, 1, sizeof(d), &d); } +static void trace_irq_mask(uint32_t event, int irq, int vector, + const cpumask_t *mask) +{ + if ( unlikely(tb_init_done) ) + _trace_irq_mask(event, irq, vector, mask); +} + static int __init __bind_irq_vector(int irq, int vector, const cpumask_t *cpu_mask) { cpumask_t online_mask;