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-ia64-devel

Re: [Xen-ia64-devel] [PATCH] pal_halt_light emulate for domU TAKE3

Hi, Isaku

Previous TAKE2 uses vcpu_pend_timer@hlt_timer_fn.
(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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel