search for: txq

Displaying 20 results from an estimated 341 matches for "txq".

Did you mean: tx
2018 Dec 06
7
[PATCH RFC 1/2] virtio-net: bql support
...rs/net/virtio_net.c > @@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, > return stats.packets; > } > > -static void free_old_xmit_skbs(struct send_queue *sq) > +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, > + bool use_napi) > { > struct sk_buff *skb; > unsigned int len; > @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) > if (!packets) > return; > > + if (use_napi) > + netdev_tx_completed_queue(txq, packets, bytes)...
2018 Dec 06
7
[PATCH RFC 1/2] virtio-net: bql support
...rs/net/virtio_net.c > @@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, > return stats.packets; > } > > -static void free_old_xmit_skbs(struct send_queue *sq) > +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, > + bool use_napi) > { > struct sk_buff *skb; > unsigned int len; > @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) > if (!packets) > return; > > + if (use_napi) > + netdev_tx_completed_queue(txq, packets, bytes)...
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
...@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, >>> return stats.packets; >>> } >>> -static void free_old_xmit_skbs(struct send_queue *sq) >>> +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, >>> + bool use_napi) >>> { >>> struct sk_buff *skb; >>> unsigned int len; >>> @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) >>> if (!packets) >>> return; >>> + if (use...
2018 Dec 27
2
[PATCH RFC 1/2] virtio-net: bql support
...@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, >>> return stats.packets; >>> } >>> -static void free_old_xmit_skbs(struct send_queue *sq) >>> +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, >>> + bool use_napi) >>> { >>> struct sk_buff *skb; >>> unsigned int len; >>> @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) >>> if (!packets) >>> return; >>> + if (use...
2013 Jan 08
3
[PATCH V3 1/2] virtio-net: fix the set affinity bug when CPU IDs are not consecutive
...ex, cpu) = -1; + vi->affinity_hint_set = false; + } } static void virtnet_get_ringparam(struct net_device *dev, @@ -1127,12 +1143,15 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu) /* To avoid contending a lock hold by a vcpu who would exit to host, select the * txq based on the processor id. - * TODO: handle cpu hotplug. */ static u16 virtnet_select_queue(struct net_device *dev, struct sk_buff *skb) { - int txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : - smp_processor_id(); + int txq = 0; + + if (skb_rx_queue_recorded(skb)) + txq = skb_ge...
2013 Jan 08
3
[PATCH V3 1/2] virtio-net: fix the set affinity bug when CPU IDs are not consecutive
...ex, cpu) = -1; + vi->affinity_hint_set = false; + } } static void virtnet_get_ringparam(struct net_device *dev, @@ -1127,12 +1143,15 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu) /* To avoid contending a lock hold by a vcpu who would exit to host, select the * txq based on the processor id. - * TODO: handle cpu hotplug. */ static u16 virtnet_select_queue(struct net_device *dev, struct sk_buff *skb) { - int txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : - smp_processor_id(); + int txq = 0; + + if (skb_rx_queue_recorded(skb)) + txq = skb_ge...
2018 Dec 27
2
[PATCH RFC 1/2] virtio-net: bql support
...@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, >>> return stats.packets; >>> } >>> -static void free_old_xmit_skbs(struct send_queue *sq) >>> +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, >>> + bool use_napi) >>> { >>> struct sk_buff *skb; >>> unsigned int len; >>> @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) >>> if (!packets) >>> return; >>> + if (use...
2018 Dec 27
2
[PATCH RFC 1/2] virtio-net: bql support
...@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, >>> return stats.packets; >>> } >>> -static void free_old_xmit_skbs(struct send_queue *sq) >>> +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, >>> + bool use_napi) >>> { >>> struct sk_buff *skb; >>> unsigned int len; >>> @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) >>> if (!packets) >>> return; >>> + if (use...
2018 Dec 05
0
[PATCH RFC 1/2] virtio-net: bql support
...vers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, return stats.packets; } -static void free_old_xmit_skbs(struct send_queue *sq) +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, + bool use_napi) { struct sk_buff *skb; unsigned int len; @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) if (!packets) return; + if (use_napi) + netdev_tx_completed_queue(txq, packets, bytes); + u64_stats_update_begin(&sq->stats.syncp);...
2019 Jan 02
2
[PATCH RFC 1/2] virtio-net: bql support
...rtnet_receive(struct receive_queue *rq, int budget, >>>>> return stats.packets; >>>>> } >>>>> -static void free_old_xmit_skbs(struct send_queue *sq) >>>>> +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, >>>>> + bool use_napi) >>>>> { >>>>> struct sk_buff *skb; >>>>> unsigned int len; >>>>> @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) >>>>> if (!packe...
2019 Jan 02
2
[PATCH RFC 1/2] virtio-net: bql support
...rtnet_receive(struct receive_queue *rq, int budget, >>>>> return stats.packets; >>>>> } >>>>> -static void free_old_xmit_skbs(struct send_queue *sq) >>>>> +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, >>>>> + bool use_napi) >>>>> { >>>>> struct sk_buff *skb; >>>>> unsigned int len; >>>>> @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) >>>>> if (!packe...
2018 Dec 26
0
[PATCH RFC 1/2] virtio-net: bql support
....c > > @@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, > > return stats.packets; > > } > > -static void free_old_xmit_skbs(struct send_queue *sq) > > +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, > > + bool use_napi) > > { > > struct sk_buff *skb; > > unsigned int len; > > @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) > > if (!packets) > > return; > > + if (use_napi) > > + netdev_tx...
2018 Dec 26
0
[PATCH RFC 1/2] virtio-net: bql support
....c > > @@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, > > return stats.packets; > > } > > -static void free_old_xmit_skbs(struct send_queue *sq) > > +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, > > + bool use_napi) > > { > > struct sk_buff *skb; > > unsigned int len; > > @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) > > if (!packets) > > return; > > + if (use_napi) > > + netdev_tx...
2018 Dec 26
0
[PATCH RFC 1/2] virtio-net: bql support
....c > > @@ -1325,7 +1325,8 @@ static int virtnet_receive(struct receive_queue *rq, int budget, > > return stats.packets; > > } > > -static void free_old_xmit_skbs(struct send_queue *sq) > > +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, > > + bool use_napi) > > { > > struct sk_buff *skb; > > unsigned int len; > > @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) > > if (!packets) > > return; > > + if (use_napi) > > + netdev_tx...
2019 Dec 23
0
[RHEL7]virtio-net: switch to use XPS to choose txq
...ps://brewweb.devel.redhat.com/taskinfo?taskID=25482050 > Tested: verified by customer > > commit 9bb8ca86075f37d3c169b9c46f8e7c6d3165e18f > Author: Jason Wang <jasowang at redhat.com> > Date: Tue Nov 5 18:19:45 2013 +0800 > > virtio-net: switch to use XPS to choose txq > > We used to use a percpu structure vq_index to record the cpu to queue > mapping, this is suboptimal since it duplicates the work of XPS and > loses all other XPS functionality such as allowing user to configure > their own transmission steering strategy. >...
2018 Dec 30
0
[PATCH RFC 1/2] virtio-net: bql support
...int virtnet_receive(struct receive_queue *rq, int budget, > > > > return stats.packets; > > > > } > > > > -static void free_old_xmit_skbs(struct send_queue *sq) > > > > +static void free_old_xmit_skbs(struct send_queue *sq, struct netdev_queue *txq, > > > > + bool use_napi) > > > > { > > > > struct sk_buff *skb; > > > > unsigned int len; > > > > @@ -1347,6 +1348,9 @@ static void free_old_xmit_skbs(struct send_queue *sq) > > > > if (!packets) > &...
2013 Sep 27
4
[PATCH net-next] virtio-net: switch to use XPS to choose txq
..._set = true; + free_cpumask_var(cpumask); } static int virtnet_cpu_callback(struct notifier_block *nfb, @@ -1217,28 +1210,6 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu) return 0; } -/* To avoid contending a lock hold by a vcpu who would exit to host, select the - * txq based on the processor id. - */ -static u16 virtnet_select_queue(struct net_device *dev, struct sk_buff *skb) -{ - int txq; - struct virtnet_info *vi = netdev_priv(dev); - - if (skb_rx_queue_recorded(skb)) { - txq = skb_get_rx_queue(skb); - } else { - txq = *__this_cpu_ptr(vi->vq_index); - if...
2013 Sep 27
4
[PATCH net-next] virtio-net: switch to use XPS to choose txq
..._set = true; + free_cpumask_var(cpumask); } static int virtnet_cpu_callback(struct notifier_block *nfb, @@ -1217,28 +1210,6 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu) return 0; } -/* To avoid contending a lock hold by a vcpu who would exit to host, select the - * txq based on the processor id. - */ -static u16 virtnet_select_queue(struct net_device *dev, struct sk_buff *skb) -{ - int txq; - struct virtnet_info *vi = netdev_priv(dev); - - if (skb_rx_queue_recorded(skb)) { - txq = skb_get_rx_queue(skb); - } else { - txq = *__this_cpu_ptr(vi->vq_index); - if...
2013 Sep 30
0
[net-next PATCH V2] virtio-net: switch to use XPS to choose txq
...f_set_xps_queue(vi->dev, cpumask_of(cpu), i); > i++; > } > > @@ -1217,28 +1203,6 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu) > return 0; > } > > -/* To avoid contending a lock hold by a vcpu who would exit to host, select the > - * txq based on the processor id. > - */ > -static u16 virtnet_select_queue(struct net_device *dev, struct sk_buff *skb) > -{ > - int txq; > - struct virtnet_info *vi = netdev_priv(dev); > - > - if (skb_rx_queue_recorded(skb)) { > - txq = skb_get_rx_queue(skb); > - } else { &gt...