search for: __netdev_tx_sent_queue

Displaying 16 results from an estimated 16 matches for "__netdev_tx_sent_queue".

2018 Dec 06
7
[PATCH RFC 1/2] virtio-net: bql support
...t; netif_start_subqueue(dev, qnum); > virtqueue_disable_cb(sq->vq); > @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > } > } > > - if (kick || netif_xmit_stopped(txq)) { > + if (use_napi) > + kick = __netdev_tx_sent_queue(txq, bytes, more); > + else > + kick = !more || netif_xmit_stopped(txq); > + > + if (kick) { > if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { > u64_stats_update_begin(&sq->stats.syncp); > sq->stats.kicks++;
2018 Dec 06
7
[PATCH RFC 1/2] virtio-net: bql support
...t; netif_start_subqueue(dev, qnum); > virtqueue_disable_cb(sq->vq); > @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > } > } > > - if (kick || netif_xmit_stopped(txq)) { > + if (use_napi) > + kick = __netdev_tx_sent_queue(txq, bytes, more); > + else > + kick = !more || netif_xmit_stopped(txq); > + > + if (kick) { > if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { > u64_stats_update_begin(&sq->stats.syncp); > sq->stats.kicks++;
2018 Dec 27
2
[PATCH RFC 1/2] virtio-net: bql support
...gt; virtqueue_disable_cb(sq->vq); >>> @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) >>> } >>> } >>> - if (kick || netif_xmit_stopped(txq)) { >>> + if (use_napi) >>> + kick = __netdev_tx_sent_queue(txq, bytes, more); >>> + else >>> + kick = !more || netif_xmit_stopped(txq); >>> + >>> + if (kick) { >>> if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { >>> u64_stats_update_begin(&sq->stats.syn...
2018 Dec 27
2
[PATCH RFC 1/2] virtio-net: bql support
...gt; virtqueue_disable_cb(sq->vq); >>> @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) >>> } >>> } >>> - if (kick || netif_xmit_stopped(txq)) { >>> + if (use_napi) >>> + kick = __netdev_tx_sent_queue(txq, bytes, more); >>> + else >>> + kick = !more || netif_xmit_stopped(txq); >>> + >>> + if (kick) { >>> if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { >>> u64_stats_update_begin(&sq->stats.syn...
2018 Dec 05
3
[PATCH RFC 0/2] virtio-net: interrupt related improvements
Now that we have brought the virtio overhead way down with a fast packed ring implementation, we seem to be actually observing TCP drops indicative of bufferbloat. So let's try to enable TSQ. Note: it isn't clear that the default pacing is great for the virt usecase. It's worth trying to play with sk_pacing_shift_update to see what happens. For this reason, and for a more important
2018 Dec 27
2
[PATCH RFC 1/2] virtio-net: bql support
...gt; virtqueue_disable_cb(sq->vq); >>> @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) >>> } >>> } >>> - if (kick || netif_xmit_stopped(txq)) { >>> + if (use_napi) >>> + kick = __netdev_tx_sent_queue(txq, bytes, more); >>> + else >>> + kick = !more || netif_xmit_stopped(txq); >>> + >>> + if (kick) { >>> if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { >>> u64_stats_update_begin(&sq->stats.syn...
2018 Dec 27
2
[PATCH RFC 1/2] virtio-net: bql support
...gt; virtqueue_disable_cb(sq->vq); >>> @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) >>> } >>> } >>> - if (kick || netif_xmit_stopped(txq)) { >>> + if (use_napi) >>> + kick = __netdev_tx_sent_queue(txq, bytes, more); >>> + else >>> + kick = !more || netif_xmit_stopped(txq); >>> + >>> + if (kick) { >>> if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { >>> u64_stats_update_begin(&sq->stats.syn...
2018 Dec 05
0
[PATCH RFC 1/2] virtio-net: bql support
...sq->vq->num_free >= 2+MAX_SKB_FRAGS) { netif_start_subqueue(dev, qnum); virtqueue_disable_cb(sq->vq); @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) } } - if (kick || netif_xmit_stopped(txq)) { + if (use_napi) + kick = __netdev_tx_sent_queue(txq, bytes, more); + else + kick = !more || netif_xmit_stopped(txq); + + if (kick) { if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { u64_stats_update_begin(&sq->stats.syncp); sq->stats.kicks++; -- MST
2019 Jan 02
2
[PATCH RFC 1/2] virtio-net: bql support
...t;>>> @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) >>>>> } >>>>> } >>>>> - if (kick || netif_xmit_stopped(txq)) { >>>>> + if (use_napi) >>>>> + kick = __netdev_tx_sent_queue(txq, bytes, more); >>>>> + else >>>>> + kick = !more || netif_xmit_stopped(txq); >>>>> + >>>>> + if (kick) { >>>>> if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { >>>>>...
2019 Jan 02
2
[PATCH RFC 1/2] virtio-net: bql support
...t;>>> @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) >>>>> } >>>>> } >>>>> - if (kick || netif_xmit_stopped(txq)) { >>>>> + if (use_napi) >>>>> + kick = __netdev_tx_sent_queue(txq, bytes, more); >>>>> + else >>>>> + kick = !more || netif_xmit_stopped(txq); >>>>> + >>>>> + if (kick) { >>>>> if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { >>>>>...
2018 Dec 26
0
[PATCH RFC 1/2] virtio-net: bql support
...ue(dev, qnum); > > virtqueue_disable_cb(sq->vq); > > @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > > } > > } > > - if (kick || netif_xmit_stopped(txq)) { > > + if (use_napi) > > + kick = __netdev_tx_sent_queue(txq, bytes, more); > > + else > > + kick = !more || netif_xmit_stopped(txq); > > + > > + if (kick) { > > if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { > > u64_stats_update_begin(&sq->stats.syncp); > >...
2018 Dec 26
0
[PATCH RFC 1/2] virtio-net: bql support
...ue(dev, qnum); > > virtqueue_disable_cb(sq->vq); > > @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > > } > > } > > - if (kick || netif_xmit_stopped(txq)) { > > + if (use_napi) > > + kick = __netdev_tx_sent_queue(txq, bytes, more); > > + else > > + kick = !more || netif_xmit_stopped(txq); > > + > > + if (kick) { > > if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { > > u64_stats_update_begin(&sq->stats.syncp); > >...
2018 Dec 26
0
[PATCH RFC 1/2] virtio-net: bql support
...ue(dev, qnum); > > virtqueue_disable_cb(sq->vq); > > @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > > } > > } > > - if (kick || netif_xmit_stopped(txq)) { > > + if (use_napi) > > + kick = __netdev_tx_sent_queue(txq, bytes, more); > > + else > > + kick = !more || netif_xmit_stopped(txq); > > + > > + if (kick) { > > if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { > > u64_stats_update_begin(&sq->stats.syncp); > >...
2018 Dec 30
0
[PATCH RFC 1/2] virtio-net: bql support
...; > > > > @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > > > > } > > > > } > > > > - if (kick || netif_xmit_stopped(txq)) { > > > > + if (use_napi) > > > > + kick = __netdev_tx_sent_queue(txq, bytes, more); > > > > + else > > > > + kick = !more || netif_xmit_stopped(txq); > > > > + > > > > + if (kick) { > > > > if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { > > > > u6...
2018 Dec 30
0
[PATCH RFC 1/2] virtio-net: bql support
...; > > > > @@ -1560,7 +1566,12 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > > > > } > > > > } > > > > - if (kick || netif_xmit_stopped(txq)) { > > > > + if (use_napi) > > > > + kick = __netdev_tx_sent_queue(txq, bytes, more); > > > > + else > > > > + kick = !more || netif_xmit_stopped(txq); > > > > + > > > > + if (kick) { > > > > if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { > > > > u6...
2019 Jan 02
0
[PATCH RFC 1/2] virtio-net: bql support
...netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > > > > > > } > > > > > > } > > > > > > - if (kick || netif_xmit_stopped(txq)) { > > > > > > + if (use_napi) > > > > > > + kick = __netdev_tx_sent_queue(txq, bytes, more); > > > > > > + else > > > > > > + kick = !more || netif_xmit_stopped(txq); > > > > > > + > > > > > > + if (kick) { > > > > > > if (virtqueue_kick_prepare(sq->vq) && virtqueu...