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/
Home Products Support Community News


RE: [Xen-ia64-devel] Question domU blocking and xen timer interrupt

To: "Dietmar Hahn" <dietmar.hahn@xxxxxxxxxxxxxxxxxxx>, <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-ia64-devel] Question domU blocking and xen timer interrupt
From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Date: Tue, 16 Jan 2007 10:05:22 +0800
Delivery-date: Mon, 15 Jan 2007 18:05:05 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200701151601.07293.dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
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>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acc4tgmCsYFlOoDuS/+JYgoF14GDSwAW5M6g
Thread-topic: [Xen-ia64-devel] Question domU blocking and xen timer interrupt
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?


>> 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

Attachment: do_timer.patch
Description: do_timer.patch

Xen-ia64-devel mailing list