mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
process softirqs while dumping domains
Process softirqs once per domain, and once every 64 vcpus in a guest to avoid
being hit by the NMI watchdog. Discovered against a VM which had accidentally
been assigned 8192 vcpus.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
master commit: 9cf71226ed
master date: 2014-10-31 11:28:36 +0100
This commit is contained in:
1 parent
4237b63100
commit
cb3f33e9cd
1 file changed
+9
@@ -254,6 +254,9 @@ static void dump_domains(unsigned char key)
|
||||
for_each_domain ( d )
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
process_pending_softirqs();
|
||||
|
||||
printk("General information for domain %u:\n", d->domain_id);
|
||||
cpuset_print(tmpstr, sizeof(tmpstr), d->domain_dirty_cpumask);
|
||||
printk(" refcnt=%d dying=%d pause_count=%d\n",
|
||||
@@ -288,6 +291,9 @@ static void dump_domains(unsigned char key)
|
||||
d->domain_id);
|
||||
for_each_vcpu ( d, v )
|
||||
{
|
||||
if ( !(v->vcpu_id & 0x3f) )
|
||||
process_pending_softirqs();
|
||||
|
||||
printk(" VCPU%d: CPU%d [has=%c] poll=%d "
|
||||
"upcall_pend = %02x, upcall_mask = %02x ",
|
||||
v->vcpu_id, v->processor,
|
||||
@@ -310,6 +316,9 @@ static void dump_domains(unsigned char key)
|
||||
{
|
||||
for_each_vcpu ( d, v )
|
||||
{
|
||||
if ( !(v->vcpu_id & 0x3f) )
|
||||
process_pending_softirqs();
|
||||
|
||||
printk("Notifying guest %d:%d (virq %d, port %d, stat %d/%d/%d)\n",
|
||||
d->domain_id, v->vcpu_id,
|
||||
VIRQ_DEBUG, v->virq_to_evtchn[VIRQ_DEBUG],
|
||||
|
||||