This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Re: Losing PS/2 Interrupts

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Re: Losing PS/2 Interrupts
From: Thomas Goetz <tcgoetz@xxxxxxxxx>
Date: Fri, 20 May 2011 11:53:54 -0400
Delivery-date: Fri, 20 May 2011 08:54:41 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:content-type:mime-version:subject:from :in-reply-to:date:content-transfer-encoding:message-id:references:to :x-mailer; bh=GtAafsPiywwmiXz4D2X+KZy6P/VqXeQRJHsOT5YpcdM=; b=pK+WcScjkcTxEUpmcGeXpGdhypN8wCFqLK2ccxBFxuNcqmUZyJ2HzthxOTe6cGKJqz hzdsG5OIjzfvnDMjDl08gSJcyniqkweMepOZG0IQ9zF9VPKbqffoDLf5NDNpN62m6O93 VtEBYqAEQMddlz46dQlvp9jqTGRtehIC7DeS0=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to:x-mailer; b=Juh4odenweGoQNoEnaNLM6Sy5ua92O26KR27JLHiWKzd7dnH2W7eS3HPRmVyj9PDfU HLF/+JBkfzk5uoqkDcdlgAyqtQbtITZNY9jY6Cc0jR4MAu6i2aagJon8e59d61g9G8Bn MoGOiFUUHEGh78fBwG0lvatWSDSJvQqHWOArw=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <3E2050B5-59DC-4E4F-9C8D-8C04A6B465EB@xxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <3E2050B5-59DC-4E4F-9C8D-8C04A6B465EB@xxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On May 19, 2011, at 5:45 PM, Thomas Goetz wrote:

> I'm running PVOPs 2.6.38 on Xen 4.0.2 RC3 and while booting a guest I lose 
> interrupts for the PS/2 trackpad. The trackpad stops functioning because the 
> device is waiting for service. I added a work around that calls 
> i8042_interupt form a timer if it hasn't been called in 1s and it started 
> working again. I added some code to Xen to count IRQ 12 and compared that to 
> the IRQ 12 count in //proc/interrupts (I stopped PS/2 activity and waited for 
> PS/2 interrupt activity to stop before taking the counts). I lose one 
> interrupt in Dom0 every time the trackpad freezes.
> (XEN) IRQ 12 count 21048
> 12:      21047          0  xen-pirq-ioapic-edge  i8042   <--- lost an 
> interrupt in dom0
> ...
> (XEN) IRQ 12 count 48540
> 12:      48537          0  xen-pirq-ioapic-edge  i8042   <--- lost 3 
> interrupts in dom0
> I looked at the point at which the trackpad gets it's last interrupt in a 
> trace and the other major activity at that time is the event channel that 
> services the Qemu vcpu io_req code.
> This 2.6.38 tree has a merge of Stafano's 2.6.39 fixes in 
> drivers/xen/events.c.
> Anyone have any ideas or suggestions?

More data. The number of missing interrupts is equal to the number of times 
__do_IRQ_guest called send_guest_pirq and incremented already_pending. The 
number of IRQ 12 interrupts reported by /proc/interrupts is the same as the 
count of times __xen_evtchn_do_upcall called generic_handle_irq_desc for IRQ 
12. So the issue has to be between send_guest_pirq in Xen and  
__xen_evtchn_do_upcall in dom0.

-Tom Goetz

Xen-devel mailing list