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-devel] Question about evtchn_callback reentry

To: "Xu, Anthony" <anthony.xu@xxxxxxxxx>, Keir Fraser <keir@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Question about evtchn_callback reentry
From: Keir Fraser <keir@xxxxxxxxxxxxx>
Date: Mon, 18 Dec 2006 11:24:18 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 18 Dec 2006 03:24:14 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <51CFAB8CB6883745AE7B93B3E084EBE207DDAA@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcciZU0dbGSEqQXwQrycerXX2pFPWAAIgEAJAAAfzJAAA9BF0Q==
Thread-topic: [Xen-devel] Question about evtchn_callback reentry
User-agent: Microsoft-Entourage/
> But all device interrupts have privilege and  device interrupts are delivered
> through event channel.

Do they? Architecturally defined? I don't think so.

> That means ide interrupt may interrupt time interrup in dom0.
> It maybe not reasonable.

Linux doesn't care. If it did we could apply some form of prioritisation in
Linux's event-channel subsystem.

> If evtchn_callback reentry is allowed.
> There are 1024 event channels.
> In theory, dom0 kernal stack may be overflowed.
> Is there any mechanism to prevent this?

When running natively there are over 200 vectors available for allocation to
interrupt sources. In theory the kernel stack may be overflowed, and there
is no mechanism in Linux to prevent this.

> Since event channels have no concept of privilege.
> Why we allow evtchn_callback reentered ?

Mainly because it follows the model of interrupt delivery on native Linux.
We could deviate this default behaviour when running on Xen -- interrupt
handlers should be quick to run so really I would expect no performance
difference one way or the other. Do you understand why you are getting so
much reentrancy, and hence such a horrible performance degradation, on ia64?

 -- Keir

Xen-devel mailing list