[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] late lapic timer interrupts for hvm guest


  • To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxxxxxxx>
  • Date: Tue, 28 Oct 2008 09:56:10 +0100
  • Cc:
  • Delivery-date: Tue, 28 Oct 2008 01:56:34 -0700
  • Domainkey-signature: s=s768; d=fujitsu-siemens.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Received:Message-ID:Date:From:Organization: User-Agent:MIME-Version:To:Subject:References:In-Reply-To: Content-Type; b=NFIeWYzcaNX/1ZiDkbisMUM1xLiLdb3itbyv+lzek7CSQ3rPfNFoq0q0 20HmQ7/ZJ/SbwcGB5kp4zI+cslAQ+0es6vh0GYM8AEWYXF1ghj9fY2cgN 4LtfiHQiW5F58xe;
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Keir Fraser wrote:
On 28/10/08 07:45, "Juergen Gross" <juergen.gross@xxxxxxxxxxxxxxxxxxx>
wrote:

     pt->scheduled = NOW() + period;
     /*
      * Offset LAPIC ticks from other timer ticks. Otherwise guests which use
      * LAPIC ticks for process accounting can see long sequences of process
      * ticks incorrectly accounted to interrupt processing.
      */
     if ( pt->source == PTSRC_lapic )
         pt->scheduled += period >> 1;

We have ported our mainframe OS BS2000 to x86_64/XEN and we are using the
lapic timer as the main timer interrupt source (one shot mode). Finally I've
found the above coding which seems to be the root cause of late interrupts.

I think the problem mentioned in the comment won't occur if the guest uses
the lapic timer in one shot mode with varying timer values (like BS2000). Or
am I wrong here?

Right. That extra code could be conditional on setting up a periodic LAPIC
timer.

Okay, here is the patch.

Juergen

--
Juergen Gross                             Principal Developer
IP SW OS6                      Telephone: +49 (0) 89 636 47950
Fujitsu Siemens Computers         e-mail: juergen.gross@xxxxxxxxxxxxxxxxxxx
Otto-Hahn-Ring 6                Internet: www.fujitsu-siemens.com
D-81739 Muenchen         Company details: www.fujitsu-siemens.com/imprint.html
When using lapic timer in one shot mode there is no need to delay timer
interrupts.

Signed-off-by: juergen.gross@xxxxxxxxxxxxxxxxxxx

# HG changeset patch
# User juergen.gross@xxxxxxxxxxxxxxxxxxx
# Date 1225183655 -3600
# Node ID 7640fba355fac233773d183077d7d01c8fd591f3
# Parent  874d0d673ecb55749cdc836942222ba684b365cb
don't delay lapic timer if one shot mode

diff -r 874d0d673ecb -r 7640fba355fa xen/arch/x86/hvm/vpt.c
--- a/xen/arch/x86/hvm/vpt.c    Thu Oct 23 15:38:52 2008 +0100
+++ b/xen/arch/x86/hvm/vpt.c    Tue Oct 28 09:47:35 2008 +0100
@@ -388,8 +388,9 @@
      * Offset LAPIC ticks from other timer ticks. Otherwise guests which use
      * LAPIC ticks for process accounting can see long sequences of process
      * ticks incorrectly accounted to interrupt processing.
+     * In one shot mode we assume this is no problem.
      */
-    if ( pt->source == PTSRC_lapic )
+    if ( period && (pt->source == PTSRC_lapic) )
         pt->scheduled += delta >> 1;
     pt->cb = cb;
     pt->priv = data;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.