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] Frontend/Backend model

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Frontend/Backend model
From: "David Shwatrz" <dshwatrz@xxxxxxxxx>
Date: Sat, 17 Mar 2007 21:15:31 +0200
Delivery-date: Sat, 17 Mar 2007 12:14:28 -0700
Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; b=nTDwS+ZLikPLZcZ69Ba8w2xjx5rLtOs9YlwI1JwPbqMhKc1QjLh9y/eJTG5qLidMFgV8xrdaeTE7JAPQezx0sxjo7nyx+r1v5GRX7MhNhoJoxh0wBin8duTiTVVfjJQursQkS/z2qETKwn5b6BrxZxLR6w5x9KmyuMZU3kn1ALE=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type; b=aV8jrxBiYtpky62ctnbvz35NJphUVP7DNJXu3Ix1iDWxUm68doYwUjaiIxMWTFClD5gi6xWwzdtlN5YysSZw5YYJK3/GTOFVYJg2NG33Vch+wglKtJsyPii9ursu7h1c4tt3oGvchn9FH9W1k1zyowtipOI7L0hmFbzvMtC+cms=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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
A question about frontend/backend model:

I had looked in the code of netfront (and blockfront) and I wonder
: do these modules operate in soft_irq or interrupt context?
For exmaple, methods like network_start_xmit() (for trasmitting frames
in nerfront ) or network_tx_buf_gc() (for receiving frames in netfront) ?
I see that the netif_int() calls network_tx_buf_gc(). But is domU
network_tx_buf_gc() method called from a regular interrupt context
(like in the ususal case, when we deal with ordinary
drivers) ? Am I permitted to call a method that may sleep in these
methods ? As I understood, interrrupt handling in Xen is different, because interrupts are
handled by domain 0, and as I understood there are events channels and pending
events, and the interrupts are in fact handled first by domain 0, which activates
some event channel messages.
I want to verify this point for better understanding the frontend/backend model.

D Shwatrz

Xen-devel mailing list