Re: [PATCH RFC 2/3] Virtio draft III: example net driver

Christoph Hellwig
2007-06-25T19:33:04Z

On Mon, Jun 25, 2007 at 10:26:37AM -0500, Brian King wrote:
> 1. The add_inbuf interface passes an sg list. This causes problems for
> ibmveth since its rx buffers cannot be scatterlists.
> 2. The user of this API does not have access to the sk_buf. This causes
> issues for ibmveth since it needs to reserve the first 8 bytes of the
> rx buffer for use by the firmware. It currently uses skb_reserve to do this.
>
> Would it be simpler to just pass an sk_buf rather than the scatterlist
> on these interfaces for virtio_net users?

It probably should pass the sk_buff. Then again the network layer really
should be using struct scaterrlist for skb fragments - on a lot of iommu
a dma_map_sg is a lot more efficient than a lot of dma_map_page calls,
not to mention the benefit of a common data structure for things like
network attached storage protocols that have to talk to both worlds.

And yes, this is getting a little out of scope for the virtualization
discussion.