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

Re: [Xen-devel] [timer/ticks related] dom0 hang during boot on large 1TB system



On Mon, 21 Dec 2009 15:57:33 -0800 (PST)
Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> wrote:

> > From: Jeremy Fitzhardinge [mailto:jeremy@xxxxxxxx]
> >
> > There's some code in the pvops kernel which looks vaguely 
> > like that, but 
> > it has nothing to do with timer interrupts.  Could you be 
> > more specific 
> > about what you're referring to?
> 
> I spent some time rooting through the 2.6.32 code and
> ended up with my head spinning.  I think the bottom line
> is if there is code that may cause jiffies to increment
> by a large amount from a single "tick" delivered by
> Xen, it's likely the same problem can occur in 2.6.32
> dom0 when running on Xen.

Right. Your calibrate_delay_direct() is the same, so in there:

                start_jiffies = jiffies;
                ... timer interrupt....
                while (jiffies <= (start_jiffies + tick_divider)) {
                        pre_start = start;
                        read_current_timer(&start);
                }


if timer tick comes in after start_jiff is set, and upon returning from
timer interrupt the while loop finds jiffies wrapped, it will hang.

i was looking at wrong "jeremy's pvops tree", but now that i am looking
at correct one, i see that your timer_interrupt() is pretty different.
so if you believe that you could also increment jiffies by more than
one in timer_interrupt, you should consider my new patch when i submit.
i'm testing right now.

thanks,
mukesh



_______________________________________________
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®.