Jason Wang <jasowang@xxxxxxxxxx> writes: > 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: > +/* 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. > + > + /* 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). > 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. Cheers, Rusty. -- 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