[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] one more question on ethernet front end

> On Wed, 1 Sep 2004, Keir Fraser wrote:
> > 
> > The frames you get from the receive ring are not necessarily the ones
> > you removed from your memory reservation. i.e., you will be replacing
> > with different pages.
> Something else I'm unclear on then: what if you have a pfn array that is
> of size x, covering a range of physical frame numbers, and you get back a
> pfn that has an index such that it won't fit in that array? I'm a little
> unclear on how this would work.  It looks in the newer stuff like you
> don't really resize the array, unless I missed it. I guess I'll look
> again, but does the linux loader size the mfn array in all cases so that
> it has enough entries for all of physical memory, so that it can 
> accomodate any PFN? 

When you receive a packet you get given the MFN of the page its
contained in. It's purely a matter for the guestos where it
chooses to insert it into it's PFN table. Typically, it will
insert it into a slot that was vacated when the guestos passed a
free receive buffer down to the driver domain. If you look at the
linux code, you'll see that the data page associated with the skb
gets passed down as the free buffer. When a packet is received,
the driver hooks in the new page to take the place of the
original data page.


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



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.