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] one more question on ethernet front end

To: ron minnich <rminnich@xxxxxxxx>
Subject: Re: [Xen-devel] one more question on ethernet front end
From: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>
Date: Wed, 01 Sep 2004 21:05:25 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx, Ian.Pratt@xxxxxxxxxxxx
Delivery-date: Wed, 01 Sep 2004 21:11:38 +0100
Envelope-to: steven.hand@xxxxxxxxxxxx
In-reply-to: Your message of "Wed, 01 Sep 2004 13:48:28 MDT." <Pine.LNX.4.44.0409011347040.1880-100000@xxxxxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
> If my domain loans a page out and then reduces its reservation, is it safe 
> to assume that when that page appears in the rx ring as a result that it 
> will be one of the ones I loaned out? in other words, do pages I return to 
> Xen for use in the rx ring get replaced by other pages, or do they come 
> back to me when they are full of data?

Nope, that wouldn't be a safe assumption.

All the pages given up by different domains go into the driver
domain's free buffer pool that are fed to the hardware.

When a packet is received by the Ethernet NIC, it will be DMAed
into whatever buffer happens to be the head of the queue. Once
the driver domain figures out which domain this packet should be
delivered to, it reassigns the page to that domain, so its then
able to map the page into its address space.

In a world with smarter NICs, we could give each domain its own
receive buffer pool and have the NIC do the demultiplex direct
into the domain's buffers. For the moment, the current scheme is
the best we can do with 'stock' hardware. [1]

Aside: some researchers have previously claimed that 'page
flipping' is slow as it involves TLB shootdowns on SMP systems.
Xen uses a few neat tricks such to avoid the need for shootdowns
in the vast majority of cases. It's not slow at all. Really.


[1] Keir and I built such as smart NIC a few years ago. See:

This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
Xen-devel mailing list