search for: netif_stop_queue

Displaying 20 results from an estimated 112 matches for "netif_stop_queue".

2015 Mar 15
2
virtio-net: tx queue was stopped
...39;t you Cc all maintainers on this email? Pls check the file MAINTAINERS for the full list. I added Cc for now. > > static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > { > ... ... > > > capacity = 10; //########## test code : force to call netif_stop_queue > > if (capacity < 2+MAX_SKB_FRAGS) { > netif_stop_queue(dev); So you changed code to make it think we are out of capacity, now it stops the queue. > > if (unlikely(!virtqueue_enable_cb_delayed(vi->svq))) { >...
2015 Mar 15
2
virtio-net: tx queue was stopped
...39;t you Cc all maintainers on this email? Pls check the file MAINTAINERS for the full list. I added Cc for now. > > static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > { > ... ... > > > capacity = 10; //########## test code : force to call netif_stop_queue > > if (capacity < 2+MAX_SKB_FRAGS) { > netif_stop_queue(dev); So you changed code to make it think we are out of capacity, now it stops the queue. > > if (unlikely(!virtqueue_enable_cb_delayed(vi->svq))) { >...
2015 Mar 16
1
virtio-net: tx queue was stopped
...heck the file MAINTAINERS for the full list. > I added Cc for now. > Thank you. >> >> static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) >> { >> ... ... >> >> >> capacity = 10; //########## test code : force to call netif_stop_queue >> >> if (capacity < 2+MAX_SKB_FRAGS) { >> netif_stop_queue(dev); > > So you changed code to make it think we are out of capacity, now it > stops the queue. > >> >> if (unlikely(!virtqueue_enable_cb_delayed(vi-&g...
2015 Mar 16
1
virtio-net: tx queue was stopped
...heck the file MAINTAINERS for the full list. > I added Cc for now. > Thank you. >> >> static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) >> { >> ... ... >> >> >> capacity = 10; //########## test code : force to call netif_stop_queue >> >> if (capacity < 2+MAX_SKB_FRAGS) { >> netif_stop_queue(dev); > > So you changed code to make it think we are out of capacity, now it > stops the queue. > >> >> if (unlikely(!virtqueue_enable_cb_delayed(vi-&g...
2015 Mar 16
0
virtio-net: tx queue was stopped
...ed Cc for now. > > > > Thank you. > > >> > >> static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > >> { > >> ... ... > >> > >> > >> capacity = 10; //########## test code : force to call netif_stop_queue > >> > >> if (capacity < 2+MAX_SKB_FRAGS) { > >> netif_stop_queue(dev); > > > > So you changed code to make it think we are out of capacity, now it > > stops the queue. > > > >> > >> if...
2015 Mar 16
0
virtio-net: tx queue was stopped
...ed Cc for now. > > > > Thank you. > > >> > >> static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) > >> { > >> ... ... > >> > >> > >> capacity = 10; //########## test code : force to call netif_stop_queue > >> > >> if (capacity < 2+MAX_SKB_FRAGS) { > >> netif_stop_queue(dev); > > > > So you changed code to make it think we are out of capacity, now it > > stops the queue. > > > >> > >> if...
2010 Jun 10
1
[PATCH for-2.6.35] virtio_net: fix oom handling on tx
...ice *dev) struct virtnet_info *vi = netdev_priv(dev); int capacity; -again: /* Free up any pending old buffers before queueing new ones. */ free_old_xmit_skbs(vi); @@ -572,12 +571,14 @@ again: /* This can happen with OOM and indirect buffers. */ if (unlikely(capacity < 0)) { - netif_stop_queue(dev); - dev_warn(&dev->dev, "Unexpected full queue\n"); - if (unlikely(!virtqueue_enable_cb(vi->svq))) { - virtqueue_disable_cb(vi->svq); - netif_start_queue(dev); - goto again; + if (net_ratelimit()) { + if (likely(capacity == -ENOMEM)) + dev_warn(&dev->...
2010 Jun 10
1
[PATCH for-2.6.35] virtio_net: fix oom handling on tx
...ice *dev) struct virtnet_info *vi = netdev_priv(dev); int capacity; -again: /* Free up any pending old buffers before queueing new ones. */ free_old_xmit_skbs(vi); @@ -572,12 +571,14 @@ again: /* This can happen with OOM and indirect buffers. */ if (unlikely(capacity < 0)) { - netif_stop_queue(dev); - dev_warn(&dev->dev, "Unexpected full queue\n"); - if (unlikely(!virtqueue_enable_cb(vi->svq))) { - virtqueue_disable_cb(vi->svq); - netif_start_queue(dev); - goto again; + if (net_ratelimit()) { + if (likely(capacity == -ENOMEM)) + dev_warn(&dev->...
2008 Apr 18
0
virtio: wean net driver off NETDEV_TX_BUSY
...irtnet_info *vi = netdev_priv(dev); again: /* Free up any pending old buffers before queueing new ones. */ free_old_xmit_skbs(vi); - err = vi->svq->vq_ops->add_buf(vi->svq, sg, num, 0, skb); - if (err) { - pr_debug("%s: virtio not prepared to send\n", dev->name); - netif_stop_queue(dev); - /* Activate callback for using skbs: if this returns false it - * means some were used in the meantime. */ - if (unlikely(!vi->svq->vq_ops->enable_cb(vi->svq))) { - vi->svq->vq_ops->disable_cb(vi->svq); - netif_start_queue(dev); - goto again; - } - __sk...
2008 Apr 18
0
virtio: wean net driver off NETDEV_TX_BUSY
...irtnet_info *vi = netdev_priv(dev); again: /* Free up any pending old buffers before queueing new ones. */ free_old_xmit_skbs(vi); - err = vi->svq->vq_ops->add_buf(vi->svq, sg, num, 0, skb); - if (err) { - pr_debug("%s: virtio not prepared to send\n", dev->name); - netif_stop_queue(dev); - /* Activate callback for using skbs: if this returns false it - * means some were used in the meantime. */ - if (unlikely(!vi->svq->vq_ops->enable_cb(vi->svq))) { - vi->svq->vq_ops->disable_cb(vi->svq); - netif_start_queue(dev); - goto again; - } - __sk...
2011 Apr 05
3
[PATCH] staging: hv: Fix GARP not sent after Quick Migration
...29,7 +231,8 @@ static void netvsc_linkstatus_callback(struct hv_device *device_obj, if (status == 1) { netif_carrier_on(net); netif_wake_queue(net); - netif_notify_peers(net); + ndev_ctx = netdev_priv(net); + schedule_work(&ndev_ctx->work); } else { netif_carrier_off(net); netif_stop_queue(net); @@ -328,6 +331,17 @@ static const struct net_device_ops device_ops = { .ndo_set_mac_address = eth_mac_addr, }; +static void netvsc_send_garp(struct work_struct *w) +{ + struct net_device_context *ndev_ctx; + struct net_device *net; + + ndev_ctx = container_of(w, struct net_device_contex...
2011 Apr 05
3
[PATCH] staging: hv: Fix GARP not sent after Quick Migration
...29,7 +231,8 @@ static void netvsc_linkstatus_callback(struct hv_device *device_obj, if (status == 1) { netif_carrier_on(net); netif_wake_queue(net); - netif_notify_peers(net); + ndev_ctx = netdev_priv(net); + schedule_work(&ndev_ctx->work); } else { netif_carrier_off(net); netif_stop_queue(net); @@ -328,6 +331,17 @@ static const struct net_device_ops device_ops = { .ndo_set_mac_address = eth_mac_addr, }; +static void netvsc_send_garp(struct work_struct *w) +{ + struct net_device_context *ndev_ctx; + struct net_device *net; + + ndev_ctx = container_of(w, struct net_device_contex...
2012 Jan 12
9
Re: [PATCH] add netconsole support for xen-netfront
...b)))) { > - spin_unlock_irq(&np->tx_lock); > + spin_unlock_irqrestore(&np->tx_lock, flags); > goto drop; > } > > @@ -574,7 +575,7 @@ static int xennet_start_xmit(struct sk_buff *skb, struct net_device *dev) > if (!netfront_tx_slot_available(np)) > netif_stop_queue(dev); > > - spin_unlock_irq(&np->tx_lock); > + spin_unlock_irqrestore(&np->tx_lock, flags); > > return NETDEV_TX_OK; > > @@ -1228,6 +1229,33 @@ static int xennet_set_features(struct net_device *dev, > return 0; > } > > +static irqreturn_t...
2011 Jun 02
6
[PATCHv2 RFC 0/4] virtio and vhost-net capacity handling
OK, here's a new attempt to use the new capacity api. I also added more comments to clarify the logic. Hope this is more readable. Let me know pls. This is on top of the patches applied by Rusty. Warning: untested. Posting now to give people chance to comment on the API. Changes from v1: - fix comment in patch 2 to correct confusion noted by Rusty - rewrite patch 3 along the lines
2011 Jun 02
6
[PATCHv2 RFC 0/4] virtio and vhost-net capacity handling
OK, here's a new attempt to use the new capacity api. I also added more comments to clarify the logic. Hope this is more readable. Let me know pls. This is on top of the patches applied by Rusty. Warning: untested. Posting now to give people chance to comment on the API. Changes from v1: - fix comment in patch 2 to correct confusion noted by Rusty - rewrite patch 3 along the lines
2008 Apr 28
3
[PATCH 1/4] virtio: wean net driver off NETDEV_TX_BUSY
...irtnet_info *vi = netdev_priv(dev); again: /* Free up any pending old buffers before queueing new ones. */ free_old_xmit_skbs(vi); - err = vi->svq->vq_ops->add_buf(vi->svq, sg, num, 0, skb); - if (err) { - pr_debug("%s: virtio not prepared to send\n", dev->name); - netif_stop_queue(dev); - /* Activate callback for using skbs: if this returns false it - * means some were used in the meantime. */ - if (unlikely(!vi->svq->vq_ops->enable_cb(vi->svq))) { - vi->svq->vq_ops->disable_cb(vi->svq); - netif_start_queue(dev); - goto again; + /* If we h...
2008 Apr 28
3
[PATCH 1/4] virtio: wean net driver off NETDEV_TX_BUSY
...irtnet_info *vi = netdev_priv(dev); again: /* Free up any pending old buffers before queueing new ones. */ free_old_xmit_skbs(vi); - err = vi->svq->vq_ops->add_buf(vi->svq, sg, num, 0, skb); - if (err) { - pr_debug("%s: virtio not prepared to send\n", dev->name); - netif_stop_queue(dev); - /* Activate callback for using skbs: if this returns false it - * means some were used in the meantime. */ - if (unlikely(!vi->svq->vq_ops->enable_cb(vi->svq))) { - vi->svq->vq_ops->disable_cb(vi->svq); - netif_start_queue(dev); - goto again; + /* If we h...
2011 Jun 01
5
[PATCH RFC 0/3] virtio and vhost-net capacity handling
OK, here's a new attempt to use the new capacity api. I also added more comments to clarify the logic. Hope this is more readable. Let me know pls. This is on top of the patches applied by Rusty. Note: there are now actually 2 calls to fee_old_xmit_skbs on data path so instead of passing flag '2' to the second one I thought we can just make each call free up at least 1 skb. This
2011 Jun 01
5
[PATCH RFC 0/3] virtio and vhost-net capacity handling
OK, here's a new attempt to use the new capacity api. I also added more comments to clarify the logic. Hope this is more readable. Let me know pls. This is on top of the patches applied by Rusty. Note: there are now actually 2 calls to fee_old_xmit_skbs on data path so instead of passing flag '2' to the second one I thought we can just make each call free up at least 1 skb. This
2011 Feb 02
0
[PATCH] staging: hv: Enable sending GARP packet after live migration
...rivers/staging/hv/netvsc_drv.c +++ b/drivers/staging/hv/netvsc_drv.c @@ -236,6 +236,7 @@ static void netvsc_linkstatus_callback(struct hv_device *device_obj, if (status == 1) { netif_carrier_on(net); netif_wake_queue(net); + netif_notify_peers(net); } else { netif_carrier_off(net); netif_stop_queue(net); -- 1.5.5.6