On Tue, 2009-12-15 at 13:33 +0200, Michael S. Tsirkin wrote: > So what I would suggest is, have function > that just copies part of skb, and have > caller open-code allocating the skb and free up > pages as necessary. Yes, the updated patch has changed the function. > What I am asking is why do we add skb in vi->recv. > Can't we use vq destoy hack here as well? Yes, I removed recv queue skb link totally in the updated patch. > > One is for big packet virtio_net_hdr, one is for goodcopy skb. > > > Maybe put this in a comment then. Ok, will do. > > I mean the for loop: can i be for(i = 0, ..., ++i) just as well? > Why do you start at the end of buffer and decrement? Are asking why reverse order for new page to sg? The reason is we link the new page in first, and only maintain the first pointer. So the most recent new page should be related to sg[0], if we put the new page in the last, then we need to travel the page list to get last pointer. Am I missing your point here? Thanks Shirley -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html