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

Re: [Xen-devel] Freeing skbs (again)

> I guess I know why now. The skb->head ptrs all point to pages that are
> no longer mapped, this is why accessing data pointed to by skb_shinfo()
> (which the dealloc routine does) is bad. I could manually
> kfree(skb->head); but this still leaves empty mappings in the virtual
> memory map :-(
> I guess I need to flush the rings instead, but I suppose that means
> xen-queued outgoing packets will be dropped? Maybe I will just have to
> live with that.

NETOP_FLUSH_BUFFERS causes Xen to flush all the buffers it can. This
is every transmit buffer and every receive buffer /except/ for
trasnmit buffers that have been queued at the physical NIC. For these
the guest OS must spin/block until responses have been received some
(short) time later.

If you want all pending tx packets be to be sent then you should spin
on the tx_cons and _prod indexes /before/ calling NETOP_FLUSH_BUFFERS.

 -- Keir

This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
Xen-devel mailing list



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