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] emulate PAL_HALT_LIGHT on domU

To: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] [PATCH] emulate PAL_HALT_LIGHT on domU
From: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>
Date: Wed, 05 Jul 2006 18:15:17 +0900
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 05 Jul 2006 02:16:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: (Your message of "Wed, 5 Jul 2006 14:27:59 +0900") <20060705052759.GA4417%yamahata@xxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200607050347.k653lAAb020807@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20060705052759.GA4417%yamahata@xxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi, Yamahata-san,

Thank you for your comments.

In IA64, ITM/ITC model is used.(for example *1)
This IA64 model is different from x86 timer model.
So It needs to send a correct ITM/ITC interrupt to Guest OS by using VIRQ_ITC.
This VIRQ_ITC signal timing is controlled by the Guest OS itself.
So VIRQ_ITC from other is not permitted on this model.(*2)
If you set the timer externally, GuestOS timer model is corrupted.

HYPERVISOR_set_timer_op just sends VIRQ_TIMER signal to Guest OS,
if it reaches the time.
For x86 case, timer_interrupt@xxxxxxxxxxxxxxxxxxxx/arch/i386/kernel/time-xen.c 
wake up.
The function is permitted to wake up any time.(just get timer information from 
Xen Hypervisor.)
For IA64 case, no corresponding function for VIRQ_TIMER is exists.
If you switch from VIRQ_TIMER to VIRQ_ITC, assumption model in timer function 
is different.
(The IA64 functions are assumed that it only runs on itc/itm timer 
interruption.)
So VIRQ_ITC timer function is not available for HYPERVISOR_set_timer_op.

If you want to use HYPERVISOR_set_timer_op on IA64,
you should make a new timer_interrupt function for HYPERVISOR_set_timer_op
to avoid distruct itc/itm model.


Consider the above circumstances,
I decided to emulate PAL_HALT_LIGHT on the Xen Hypervisor.
This model does not effect on VIRQ_ITC and itc/itm model.

Thanks,
Atsushi SAKAI.




>Hi Sakai.
>
>xenLinux/x86 paravirtualizes idle loop to get timer interrupt
>while cpu halting.
>More exactly safe_halt() is paravirtualized using
>HYPERVISOR_set_timer_op().
>Xen/IA64 doesn't support HYPERVISOR_set_timer_op(), but it
>would be quite easy to add its support.
>
>I'm not sure about which is better, your approach or paravirtualizing
>idle loop.
>Could you explain the reason why you added vcpu->arch.hlt_timer
>instead of supporting set_timer_op hypercall with vcpu->timer?
>
>Thanks.
>
>On Wed, Jul 05, 2006 at 12:46:35PM +0900, Atsushi SAKAI wrote:
>> Hi, All
>> 
>> This patch emulates Guest PAL_HALT_LIGHT on domU by using do_block and timer.
>> It also adds the function of the timer event sending to domU at the vcpu 
>> woke up.
>> 
>> Signed-off-by: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>
>> 
>> 
>> About the timer event sending to domU
>> 
>> The function "xen_timer_interrupt" on ParaVM/IA64 only sends 
>> the timer signal to current vcpu.
>> When the idle domain is running, no domUx receives timer signal.
>> If some domain cannot receive the timer signal during 10 secs,
>> a message "BUG: soft lockup detected appeared" comes from domUx.
>> To avoid this, I add a timer check routine at the vcpu woke up.
>> 
>> I tested a few days.
>> 
>> Thanks,
>> Atsushi SAKAI
>> 
>> 
>> 
>
>
>> _______________________________________________
>> Xen-ia64-devel mailing list
>> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-ia64-devel
>
>-- 
>yamahata
>





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