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


[Xen-devel] Re: [PATCH] passthrough: use tasklet to deliver interrupts

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH] passthrough: use tasklet to deliver interrupts
From: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
Date: Mon, 27 Jul 2009 18:43:25 +0900
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 27 Jul 2009 02:43:49 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C6931E2A.10743%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <7kr5w2hf0p.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxx> <C6931E2A.10743%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Keir Fraser writes:
> You remove a set_time/stop_timer pair. Is this because it was just to handle
> arbitrary delay in calling hvm_dirq_assist() (which should no longer be
> possible as we use a tasklet)?

Yes. I think PT_IRQ_TIME_OUT(8msec) might be possible but can hardly happen.
Even if hvm_dirq_assist() is not executed within an arbitrary time, 
I think it is harmless. hvm_dirq_assist() will be certainly executed on
a VM exit. Strictly speeking, timer is also not guaranteed.

Actually I have observed 10msec delay from hvm_do_IRQ_dpci till
hvm_dirq_assist(). It is a special case caused by flush_tlb_mask().

> > Note: the change of raise_softirq (convert to macro from static inline)
> >  is needed for ia64 build.
> That makes no sense. The function has been implemented (and used) in its
> existing form for a long time. Why would it suddenly break on ia64?

Since "#include <xen/softirq.h>" is added to xen/hvm/irq.h.
In ia64, smp_processor_id() refers a field of struct vcpu. 
It makes difficult to untie the nest of include.

Using a pointer to tasklet in struct hvm_irq_dpci helps to solve it.
But malloc/free is ugly...


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>