From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: nmi is broken? Date: Sun, 24 Apr 2011 09:44:35 +0300 Message-ID: <4DB3C6D3.9040703@redhat.com> References: <87sjtbe7fz.fsf@devron.myhome.or.jp> <877hak1t1s.fsf@devron.myhome.or.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: OGAWA Hirofumi Return-path: Received: from mx1.redhat.com ([209.132.183.28]:11561 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754903Ab1DXGol (ORCPT ); Sun, 24 Apr 2011 02:44:41 -0400 In-Reply-To: <877hak1t1s.fsf@devron.myhome.or.jp> Sender: kvm-owner@vger.kernel.org List-ID: On 04/24/2011 01:50 AM, OGAWA Hirofumi wrote: > OGAWA Hirofumi writes: > > > I noticed recently NMI on guest kernel is not working well. host/guest > > kernel is 2.6.39-rc4, and using vmx. > > > > And test code is something like the following: > > > > local_irq_disable(); > > for (i = 0; i< 10; i++) { > > int cpu = get_cpu(); > > printk("%s: nmi %u, lapic %u\n", __FUNCTION__, > > nmi_count(cpu), irq_stat[cpu].apic_timer_irqs); > > mdelay(1000); > > put_cpu(); > > } > > > > the result is both of nmi and lapic are not increased. If I used > > -no-kvm-irqchip, it works fine (increase nmi only). So, it seems to be > > the bug of kvm driver side. > > 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? Are you in fact using the PIT? Linux prefers the HPET, and in my experience the -no-hpet option makes NMIs work. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.