Re: [RFC] defer skb allocation in virtio_net -- mergable buff part

From: Shirley Ma
Date: Fri Sep 18 2009 - 13:04:16 EST


Hello Michael,

I am working on the patch to address the question you raised below. I am
adding one more function -- destroy_buf in virtqueue_ops, so we don't
need to maintain the list of pending buffers in upper layer (like
virtio_net), when the device is shutdown or removed, this buffer free
func will be called to release all pending buffers in virtio_ring on
behalf of virtio_net.

The rest of comments are minor. The new patch will defer skb allocation
for both mergable and none-mergable buffers.

Thanks
Shirley


On Tue, 2009-08-25 at 14:41 +0300, Michael S. Tsirkin wrote:
> > #define VIRTNET_SEND_COMMAND_SG_MAX 2
> >
> > +struct page_list
> > +{
>
> Kernel style is "struct page_list {".
> Also, prefix with virtnet_?
>
> > + struct page *page;
> > + struct list_head list;
> > +};
> > +
> > struct virtnet_info
> > {
> > struct virtio_device *vdev;
> > @@ -72,6 +79,8 @@ struct virtnet_info
> >
> > /* Chain pages by the private ptr. */
> > struct page *pages;
>
> Do we need the pages list now? Can we do without?
>
> Pls document fields below.
>
> > + struct list_head used_pages;
>
> Seems a waste to have this list just for dev down.
> Extend virtio to give us all buffers from vq
> on shutdown?
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/