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

2009-09-18 Thread Shirley Ma
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

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

2009-09-08 Thread Shirley Ma
Thanks Michael for you details review comments. I am just back from my vacation. I am working on what you have raised here. Shirley -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at

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

2009-08-25 Thread Michael S. Tsirkin
Wanted to try this awhile now, good to see this worked on! Some comments inline. On Wed, Aug 12, 2009 at 11:33:51PM -0700, Shirley Ma wrote: Guest virtio_net receives packets from its pre-allocated vring buffers, then it delivers these packets to upper layer protocols as skb buffs. So it's

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

2009-08-24 Thread Shirley Ma
Hello Avi, Thanks for you review. I was on vacation last week. On Sun, 2009-08-16 at 16:47 +0300, Avi Kivity wrote: Alternatives include: - store the link in the page itself - have an array of pages per list element instead of just one pointer - combine the two, store an array of page

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

2009-08-16 Thread Avi Kivity
On 08/13/2009 09:33 AM, Shirley Ma wrote: Guest virtio_net receives packets from its pre-allocated vring buffers, then it delivers these packets to upper layer protocols as skb buffs. So it's not necessary to pre-allocate skb for each mergable buffer, then frees it when it's useless. This patch

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

2009-08-13 Thread Shirley Ma
Guest virtio_net receives packets from its pre-allocated vring buffers, then it delivers these packets to upper layer protocols as skb buffs. So it's not necessary to pre-allocate skb for each mergable buffer, then frees it when it's useless. This patch has deferred skb allocation to when