On 2011-04-24 11:17, OGAWA Hirofumi wrote: > Avi Kivity <avi@xxxxxxxxxx> writes: > >>> With some debug, the cause seems to be in pit_do_work(). With the >>> following patch, NMI watchdog seems to be working correctly (if irq >>> disabled for long time, NMI watchdog can detect it). >>> >>> Is the following patch right? >> >> This would cause IRQs to be delivered even if the PIT is masked, no? > > In here, mask means pit_mask_notifer()? If masked, ->pending doesn't > prevent to fire it? I'm not sure. > >> Are you in fact using the PIT? Linux prefers the HPET, and in my >> experience the -no-hpet option makes NMIs work. > > Yes, this is old kernel (2.6.9), and is not using HPET > (CONFIG_HPET_TIMER=n), using IO-APIC as NMI source (PMU seems to be > unsupported on kvm for now). > > Unfortunately, -no-hpet didn't change situation. irq_stat.apic_timer_irqs > and nmi_count() are same while irq is disabled. Maybe it's a regression of latest NMI injection patches. This worked before? Can you check if commits c2dd554dc61173ecb6b3741b680d2ae4c245d2ba and f86368493ec038218e8663cc1b6e5393cd8e008a have any impact on your problem? Jan
Attachment:
signature.asc
Description: OpenPGP digital signature