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

Re: [Xen-ia64-devel] [PATCH] emulate PAL_HALT_LIGHT on domU



Hi, Kevin

Sorry for late, my mail sorting was failed.
Thanks for your comments.

Anyway, I reply as follows (2items)

1)mITC vITC relation in GuestOS

At ParaVM GuestOS, it uses real mITC as vITC(=mITC).
See the below(Compare the ParaVM and the FullVM)

a)In ParaVM GuestOS,

itm/itc used by following functions.
vcpu_set_itc@xxxxxx
vcpu_set_itm@xxxxxx
These routine do no time shift.
So these itm/itc values are not virtualized vITC = mITC
Of course vITM=mITM.

b)In FullVM GuestOS, 

itm/itc is used 
vtm_set_itm@xxxxxxxxx
vtm_get_itc@xxxxxxxxx
vtm_set_itc@xxxxxxxxx
these routine uses "now_itc" which uses for vITC to mITC connection.
(it uses vtm->vtm_offset)
So these values are virtualized then vITC != mITC
Of course vITM != mITM


2)vcpu_set_next_timer in hlt_timer_fn

  Thank you for your suggestion.
  This code is just come from xen_timer_interrupt for doing conservative.

  As you suggested, vcpu_set_next_timer is not needed in source code base.
  Since I just need VIRQ_ITC event.

  I will test it and submit the patch after applying your comments.

Thanks
Atsushi SAKAI


>>From: Atsushi SAKAI

>>
>>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.
>>
>
>Hi, Sakai,
>       Good catch, but... why do you need to choose minimal value from 
>(s - now) and (d - now)? Vcpu_get_next_time only serves for target vcpu 
>dedicatedly, and thus you only need to set an expiration value matching 
>what guest wants - (vITM - vITC). This is not like vcpu_set_next_time 
>which manipulates real mITM and needs to ensure other soft timer 
>working properly.
>
>       BTW, there's no need for vcpu_set_next_timer in hlt_timer_fn, since 
>timer dispatcher will update mITM at end of scan loop and target vcpu 
>hasn't update a new vITM value yet at that point.
>
>Thanks,
>Kevin
>


------------------------------------------------------------
富士通(株) プラットフォーム技術開発本部 仮想システム開発統括部
酒井 敦    Email   sakaia@xxxxxxxxxxxxxx
                TEL     7124-4167(4月7日より)




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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.