On Wed, Oct 28, 2009 at 11:21:42AM +0100, Chris Lalancette wrote: > Marcelo Tosatti wrote: > > On Tue, Oct 27, 2009 at 05:41:07PM +0100, Chris Lalancette wrote: > >> This patch is the main point of the series. In order for > >> kdump to properly work inside a KVM guest, we need to make > >> sure that all VCPUs in virtual wire APIC mode get kicked > >> to try and pick up the timer interrupts. To do this, > >> we iterate over the CPUs and deliver interrupts to the > >> proper VCPUs. > >> > >> I don't love the concept of doing kvm_irq_kick_vcpus() from > >> within pit_timer_fn(). A PIT is not connected to a CPU at all, > >> only to a PIC or APIC. However, if a CPU enters idle, this is > >> the only way to wake it up to check for the interrupt. > > > > The reason the PIT interrupt was fixed to BSP is: > > > > http://www.mail-archive.com/kvm-devel@xxxxxxxxxxxxxxxxxxxxx/msg13250.html > > > > Perhaps enhancing ioapic_deliver's (irq == 0) check to bypass the > > destination overwrite in case its programmed by the guest to > > a single CPU would fix it? > > Ug, nasty. I definitely don't want to re-introduce that bug. What exactly do > you mean by "fix it"? Do you mean fix the original RHEL-5.1 PAE issue, or fix > the kdump issue? The kdump issue. Something like: #ifdef CONFIG_X86 /* Always delivery PIT interrupt to vcpu 0 */ if (irq == 0 && dest_multiple_vcpus(entry)) { irqe.dest_mode = 0; /* Physical mode. */ /* need to read apic_id from apic regiest since * it can be rewritten */ irqe.dest_id = ioapic->kvm->bsp_vcpu->vcpu_id; } #endif The rest of the code should be ready to deal with it. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html