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