Messages in this thread | | | Subject | Re: [RFC] defer skb allocation in virtio_net -- mergable buff part | From | Shirley Ma <> | Date | Fri, 18 Sep 2009 10:04:05 -0700 |
| |
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? >
| |