> -----Original Message----- > From: Prarit Bhargava [mailto:pra...@redhat.com] > > Second try at this ... > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64791 > > When a cpu is downed on a system, the irqs on the cpu are assigned to > other cpus. It is possible, however, that when a cpu is downed there > aren't enough free vectors on the remaining cpus to account for the > vectors from the cpu that is being downed. > > This results in an interesting "overflow" condition where irqs are > "assigned" to a CPU but are not handled. > > For example, when downing cpus on a 1-64 logical processor system: > > + if (per_cpu(vector_irq, cpu)[vector] < 0) > + count++;
But later on fixup_irqs will set some of vector_irq vector as -1 on this to-be-disabled cpu. That will release vectors assigned to this cpu. So checking vector_irq at this point before fixup_irqs doesn't make sense, right? Thanks. -Fenghua -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/