Re: [net-next rfc v7 1/3] virtio-net: separate fields of sending/receiving queue from virtnet_info
From: Jason Wang <hidden>
Date: 2012-12-03 05:15:01
Also in:
kvm, virtualization
On Monday, December 03, 2012 12:25:42 PM Rusty Russell wrote:
Jason Wang [off-list ref] writes:quoted
To support multiqueue transmitq/receiveq, the first step is to separate queue related structure from virtnet_info. This patch introduce send_queue and receive_queue structure and use the pointer to them as the parameter in functions handling sending/receiving.OK, seems like a straightforward xform: a few nit-picks:quoted
+/* Internal representation of a receive virtqueue */ +struct receive_queue { + /* Virtqueue associated with this receive_queue */ + struct virtqueue *vq; + + struct napi_struct napi; + + /* Number of input buffers, and max we've ever had. */ + unsigned int num, max;Weird whitespace here.
Oh, yes, will fix it.
quoted
+ + /* Work struct for refilling if we run low on memory. */ + struct delayed_work refill;I can't really see the justificaiton for a refill per queue. Just have one work iterate all the queues if it happens, unless it happens often (in which case, we need to look harder at this anyway).
But during this kind of iteration, we may need enable/disable the napi regardless of whether the receive queue has lots to be refilled. This may add extra latency.
quoted
struct virtnet_info { struct virtio_device *vdev; - struct virtqueue *rvq, *svq, *cvq; + struct virtqueue *cvq; struct net_device *dev; struct napi_struct napi;You leave napi here, and take it away in the next patch. I think it's supposed to go away now.
Yes, will remove it. Thanks
Cheers, Rusty. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html