|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1/3] x86/nmi: Corrections and improvements to do_nmi_stats()
The hardware domain doesn't necessarily have the domid 0. Render v instead,
adjusting the strings to avoid printing trailing whitespace.
Rename i to cpu, and use separate booleans for pending/masked. Drop the
unnecessary domain local variable.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Wei Liu <wl@xxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
xen/arch/x86/nmi.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index a5c6bdd0ce..638677a5fe 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -587,25 +587,25 @@ static void do_nmi_trigger(unsigned char key)
static void do_nmi_stats(unsigned char key)
{
- int i;
- struct domain *d;
- struct vcpu *v;
+ const struct vcpu *v;
+ unsigned int cpu;
+ bool pend, mask;
printk("CPU\tNMI\n");
- for_each_online_cpu ( i )
- printk("%3d\t%3d\n", i, nmi_count(i));
+ for_each_online_cpu ( cpu )
+ printk("%3d\t%3d\n", cpu, nmi_count(cpu));
- if ( ((d = hardware_domain) == NULL) || (d->vcpu == NULL) ||
- ((v = d->vcpu[0]) == NULL) )
+ if ( !hardware_domain || !hardware_domain->vcpu ||
+ !(v = hardware_domain->vcpu[0]) )
return;
- i = v->async_exception_mask & (1 << VCPU_TRAP_NMI);
- if ( v->nmi_pending || i )
- printk("dom0 vpu0: NMI %s%s\n",
- v->nmi_pending ? "pending " : "",
- i ? "masked " : "");
+ pend = v->nmi_pending;
+ mask = v->async_exception_mask & (1 << VCPU_TRAP_NMI);
+ if ( pend || mask )
+ printk("%pv: NMI%s%s\n",
+ v, pend ? " pending" : "", mask ? " masked" : "");
else
- printk("dom0 vcpu0: NMI neither pending nor masked\n");
+ printk("%pv: NMI neither pending nor masked\n", v);
}
static __init int register_nmi_trigger(void)
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |