[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 12/21/2009 02:47 PM, Mukesh Rathor wrote:
delta comes from:

timer_inetrrupt() in time-xen.c :
...
         do {
                 get_time_values_from_xen(cpu);

                 /* Obtain a consistent snapshot of elapsed wallclock cycles. */
       --->       delta = delta_cpu =
                         shadow->system_timestamp + get_nsec_offset(shadow);
       --->       delta     -= processed_system_time;
                 delta_cpu -= per_cpu(processed_system_time, cpu);

                 /*
                  * Obtain a consistent snapshot of stolen/blocked cycles. We
                  * can use state_entry_time to detect if we get preempted here.
                  */
                 do {
                         sched_time = runstate->state_entry_time;
                         barrier();
                         stolen = runstate->time[RUNSTATE_runnable] +
                                 runstate->time[RUNSTATE_offline] -
                                 per_cpu(processed_stolen_time, cpu);
                         blocked = runstate->time[RUNSTATE_blocked] -
                                 per_cpu(processed_blocked_time, cpu);
                         barrier();
                 } while (sched_time != runstate->state_entry_time);
         } while (!time_values_up_to_date(cpu));
...


At first glance, i don't understand the above algorithm. Since you've
the same code, I assumed you could also compute delta to be a large
value when dom0 starts, in which case you may observe dom0 hang.

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?

    J

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