Hi, Isaku

Previous TAKE2 uses [EMAIL PROTECTED]
(this is one reason.)

But logical Source code checks revealed
"soft lockup detecteted(>10sec timer stops)" in linux kernel
causes from wrong vcpu_get_next_timer_ns value
NOT VIRQ_ITC during idle-domain running.

About vcpu_get_next_timer_ns
In Take1, I just uses vcpu_set_next_timer code.
But previous Take2 vcpu_pend_timer is just calculate
the domain_itm - ia64_get_itc.
It causes problem for case  ia64_get_itc > domain_itm,
In such a cases, the domain_itm - ia64_get_itc gets large value(more than 
10secs),
Then "softlock up" is appeared.

So this patch does not need to add vcpu_pend_timer fixes.
But this should be fixed in sometime.
(another reason)

Thanks,
Atsushi SAKAI




>Hi Atsushi.
>
>On Tue, Aug 22, 2006 at 02:44:34PM +0900, Atsushi SAKAI wrote:
>
>>   As you pointed out, vcpu_pend_timer() is usually used as current. 
>> This problem does not occur.
>> But, I am using vcpu_pend_timer in hlt_timer_fn with other vcpu.
>> (This makes problem)
>
>hlt_timer_fn() doesn't call vcpu_pend_timer(). But vcpu_unblock().
>Do I miss anything else?
>
>>From your patch.
>@@ -240,6 +241,12 @@ void startup_cpu_idle_loop(void)
> # error "XMAPPEDREGS_SHIFT doesn't match sizeof(mapped_regs_t)."
> #endif
> 
>+void hlt_timer_fn(void *data)
>+{
>+      struct vcpu *v = data;
>+      vcpu_unblock(v);
>+}
>+
>
>-- 
>yamahata
>







_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Reply via email to