|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
Re: [Xen-ia64-devel] Question domU blocking and xen timer interrupt
Hi, Dietmar
As you suggested.
Currently HYPERVISOR_set_timer_op is not used.
for more detail, please see following mail.
http://lists.xensource.com/archives/html/xen-ia64-devel/2006-07/msg00056.html
Thanks
Atsushi SAKAI
>Dietmar Hahn write on 2007年1月15日 23:01:
>>> Hi,
>
>Hi Dietmar,
>
>The attached patch is intend to enable HYPERVISOR_set_timer_op for IPF.
>
>I can understand what you described.
>Can you ckeck whether HYPERVISOR_sched_op is called with interrupt disabled?
>And can you check whether the event for domU timer irq is pending?
>
>
>--Anthony
>
>
>>>
>>> for emulating the function block_domain() in the mini-os I played
>>> with the hypervisor call HYPERVISOR_sched_op(SCHEDOP_block, 0).
>>> For tests I tried a timer interrupt in the mini-os with HZ=1 (means 1
>>> interrupt per second). The timer initialisation sets cr.itm.
>>> A thread gets started and calls HYPERVISOR_sched_op(SCHEDOP_block,
>>> 0) in a loop. Now the domU gets blocked and never woken up (no
>>> timerinterrupt occurs!) until I press a key and a console interrupt
>>> is done. This wakes up the domU. Now the timer stuff gets checked
>>> but now is the current cr.itc larger than the old cr.itm and the
>>> timer interrupt handler gets not called (in vcpu_timer_expired()).
>>> May it be that the xen timer interrupt handling does not handle this
>>> domU blocking correctly or do I understand something completely
>>> wrong?
>>> On x86 the HYPERVISOR_set_timer_op(until) is used to wake up the domU
>>> again. But this is not implemented on ia64.
>>> Thanks.
>>>
>>
>> I looked a little bit deeper in the xen source. As far as I
>> understand is xen_timer_irqaction() called on every timer interrupt
>> in the hypervisor. I can see only the checking of the timer of the
>> "current" domain. If a domain never gets scheduled because of the set
>> _VCPUF_blocked flag, then the domain gets never a timer interrupt
>> because it never gets broken by the xen timer interrupt! Do I see
>> this right? Is this the right way?
>> Thanks.
>>
>> Dietmar.
>>
>> _______________________________________________
>> Xen-ia64-devel mailing list
>> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-ia64-devel
>
>_______________________________________________
>Xen-ia64-devel mailing list
>Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>http://lists.xensource.com/xen-ia64-devel
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|