WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Timer ISR Errors?

To: "Jeremy Miracle" <jeremy@xxxxxxxx>
Subject: Re: [Xen-devel] Timer ISR Errors?
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Sun, 12 Dec 2004 22:55:51 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx
Delivery-date: Sun, 12 Dec 2004 22:57:38 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
In-reply-to: Your message of "Sun, 12 Dec 2004 16:56:29 EST." <3654.vlink.us.1102888589.squirrel@xxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
How often do you get these messages? It is only showing you to be out
by about 130us, but I don't really see how even that can happen. Also,
the rate at which the below stream is coming out is about one error
per 15us, which is very rapid indeed. Is this running on CPU0 or CPU1
(on an SMP system)?

You might want to try changing the start of do_timer_interrupt() in 
arch/xen/i386/kernel/time.c to what I have attached just below.

Another thing is to build Xen with performance counters (perfc=y make)
and then use the xenperf utility to see how many times Xen's scheduler
is being entered (this might account for the high rate of timer
interrupts you are seeing). Also looking at cat /proc/interrupts in
DOM1 may be interesting...

 -- Keir

static inline void do_timer_interrupt(int irq, void *dev_id,
                                        struct pt_regs *regs)
{
        time_t wtm_sec, sec;
        s64 delta, nsec;
        long sec_diff, wtm_nsec;
        /* XXX New declarations below. */
        static s64 pdelta, pshadow, pprocessed, poffset;

        do {
                __get_time_values_from_xen();

                delta = (s64)(shadow_system_time +
                              ((s64)cur_timer->get_offset() * 
                               (s64)NSEC_PER_USEC) -
                              processed_system_time);
        }
        while (!TIME_VALUES_UP_TO_DATE);

        if (unlikely(delta < 0)) {
                printk("Timer ISR: Time went backwards: %lld %lld %lld %lld\n",
                       delta, shadow_system_time,
                       ((s64)cur_timer->get_offset() * (s64)NSEC_PER_USEC), 
                       processed_system_time);
                /* XXX New printk below. &/
                printk(" ** %lld %lld %lld %lld\n",
                       pdelta, pshadow, pprocessed, poffset);
                return;
        }

        /* XXX New assignments below. */
        pdelta = delta;
        pshadow = shadow_system_time;
        pprocessed = processed_system_time;
        poffset = (s64)cur_timer->get_offset();


> Hello All,
> 
> I'm getting the following error from one of my guest domains (domain 1)..
> 
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -124000
> 1367865
> 0000000 9876000 13678660000000
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -109000
> 1367865
> 0000000 9891000 13678660000000
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -94000
> 13678650
> 000000 9906000 13678660000000
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -82000
> 13678650
> 000000 9918000 13678660000000
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -66000
> 13678650
> 000000 9934000 13678660000000
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -52000
> 13678650
> 000000 9948000 13678660000000
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -37000
> 13678650
> 000000 9963000 13678660000000
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -24000
> 13678650
> 000000 9976000 13678660000000
> Dec 12 16:41:00 iad1-uml kernel: Timer ISR: Time went backwards: -6000
> 136786500
> 00000 9994000 13678660000000
> 
> Anyone else seen this or know what to do about it?
> 
> The main system isn't experiencing any related errors of this sort....
> 
> Thanks,
> Jeremy
> 
> 
> 
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now. 
> http://productguide.itmanagersjournal.com/
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/xen-devel



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel

<Prev in Thread] Current Thread [Next in Thread>