>> +static void virtnet_poll_cleantx(struct receive_queue *rq)
>> +{
>> + struct virtnet_info *vi = rq->vq->vdev->priv;
>> + unsigned int index = vq2rxq(rq->vq);
>> + struct send_queue *sq = &vi->sq[index];
>> + struct netdev_queue *txq = netdev_get_tx_queue(vi->dev, index);
On Mon, Mar 6, 2017 at 12:43 PM, Willem de Bruijn
wrote:
>>> +static void virtnet_poll_cleantx(struct receive_queue *rq)
>>> +{
>>> + struct virtnet_info *vi = rq->vq->vdev->priv;
>>> + unsigned int index = vq2rxq(rq->vq);
>>> + struct send_queue *sq = &vi->sq[index];
>>> +
On 2017年03月03日 22:39, Willem de Bruijn wrote:
From: Willem de Bruijn
Amortize the cost of virtual interrupts by doing both rx and tx work
on reception of a receive interrupt. Together VIRTIO_F_EVENT_IDX and
vhost interrupt moderation, this suppresses most explicit tx
completion interrupts for
From: Willem de Bruijn
Amortize the cost of virtual interrupts by doing both rx and tx work
on reception of a receive interrupt. Together VIRTIO_F_EVENT_IDX and
vhost interrupt moderation, this suppresses most explicit tx
completion interrupts for bidirectional workloads.
Signed-off-by: Willem d