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

Re: [Xen-devel] confusion on front end driver and allox_rx_buffers.

> OK, the question: I only consumed one buffer, why is this code refilling 
> the whole ring this way? What's happening to me is that the id = 
> GET_ID_FROM_FREELIST is failing badly because the do loop is running from 
> 2 to NETIF_RX_RING_SIZE, which is wrong. 

The key insight is that you won't necessarily be getting an interrupt
callback for every packet received. e.g., under high load multiple
interrupts end up getting collapsed together into one callback.

Also, you'll notice that at the top of the refill function we don't
enter the refill loop unless there is a decent batch of work to be
done -- this amortizes the cost of the MEMOP_decrease_reservation

 -- Keir

> I think I'm getting caught between the differences in Plan 9 and Linux net 
> interrupt handling, which I don't fully understand yet, but some of this 
> ether xen front end code has me confused. 
> Comments and clarification are most welcome :-)

This SF.Net email is sponsored by: thawte's Crypto Challenge Vl
Crack the code and win a Sony DCRHC40 MiniDV Digital Handycam
Camcorder. More prizes in the weekly Lunch Hour Challenge.
Sign up NOW http://ad.doubleclick.net/clk;10740251;10262165;m
Xen-devel mailing list



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