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