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...