[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] Question domU blocking and xen timer interrupt
> Hi, > > 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |