search for: virtnet_freeze

Displaying 20 results from an estimated 140 matches for "virtnet_freeze".

2017 Jul 25
2
[PATCH net-next] virtio-net: mark PM functions as __maybe_unused
...reeze and restore functions are now unused when CONFIG_PM_SLEEP is disabled: drivers/net/virtio_net.c:1881:12: error: 'virtnet_restore_up' defined but not used [-Werror=unused-function] static int virtnet_restore_up(struct virtio_device *vdev) drivers/net/virtio_net.c:1859:13: error: 'virtnet_freeze_down' defined but not used [-Werror=unused-function] static void virtnet_freeze_down(struct virtio_device *vdev) A more robust way to do this is to remove the #ifdef around the callers and instead mark them as __maybe_unused. The compiler will now just silently drop the unused code. Fixes: 4...
2017 Jul 25
2
[PATCH net-next] virtio-net: mark PM functions as __maybe_unused
...reeze and restore functions are now unused when CONFIG_PM_SLEEP is disabled: drivers/net/virtio_net.c:1881:12: error: 'virtnet_restore_up' defined but not used [-Werror=unused-function] static int virtnet_restore_up(struct virtio_device *vdev) drivers/net/virtio_net.c:1859:13: error: 'virtnet_freeze_down' defined but not used [-Werror=unused-function] static void virtnet_freeze_down(struct virtio_device *vdev) A more robust way to do this is to remove the #ifdef around the callers and instead mark them as __maybe_unused. The compiler will now just silently drop the unused code. Fixes: 4...
2015 Mar 12
2
[PATCH net] virtio-net: correctly delete napi hash
...ffffffffa0a60000 [<ffffffff814c894f>] driver_register+0x5f/0xf0 [<ffffffff8139e41b>] register_virtio_driver+0x1b/0x30 [<ffffffffa0a60010>] virtio_net_driver_init+0x10/0x12 [virtio_net] This patch fixes this by doing this in virtnet_free_queues(). And also don't delete napi in virtnet_freeze() since it will call virtnet_free_queues() which has already did this. Fixes 91815639d880 ("virtio-net: rx busy polling support") Cc: Rusty Russell <rusty at rustcorp.com.au> Cc: Michael S. Tsirkin <mst at redhat.com> Signed-off-by: Jason Wang <jasowang at redhat.com> -...
2015 Mar 12
2
[PATCH net] virtio-net: correctly delete napi hash
...ffffffffa0a60000 [<ffffffff814c894f>] driver_register+0x5f/0xf0 [<ffffffff8139e41b>] register_virtio_driver+0x1b/0x30 [<ffffffffa0a60010>] virtio_net_driver_init+0x10/0x12 [virtio_net] This patch fixes this by doing this in virtnet_free_queues(). And also don't delete napi in virtnet_freeze() since it will call virtnet_free_queues() which has already did this. Fixes 91815639d880 ("virtio-net: rx busy polling support") Cc: Rusty Russell <rusty at rustcorp.com.au> Cc: Michael S. Tsirkin <mst at redhat.com> Signed-off-by: Jason Wang <jasowang at redhat.com> -...
2014 Jan 16
2
[PATCH net-next v3 5/5] virtio-net: initial rx sysfs support, export mergeable rx buffer size
...that refill_work() could be scheduled. If refill_work() executes, it will re-enable NAPI. We'd need to cancel the vi->refill delayed work to prevent this AFAICT, and also ensure that no other function re-schedules vi->refill or re-enables NAPI (virtnet_open/close, virtnet_set_queues, and virtnet_freeze/restore). How is the following sequence of operations: rtnl_lock(); cancel_delayed_work_sync(&vi->refill); napi_disable(&rq->napi); read rq->mrg_avg_pkt_len virtnet_enable_napi(); rtnl_unlock(); Additionally, if we disable NAPI when reading this file, perhaps the permissions shou...
2014 Jan 16
2
[PATCH net-next v3 5/5] virtio-net: initial rx sysfs support, export mergeable rx buffer size
...that refill_work() could be scheduled. If refill_work() executes, it will re-enable NAPI. We'd need to cancel the vi->refill delayed work to prevent this AFAICT, and also ensure that no other function re-schedules vi->refill or re-enables NAPI (virtnet_open/close, virtnet_set_queues, and virtnet_freeze/restore). How is the following sequence of operations: rtnl_lock(); cancel_delayed_work_sync(&vi->refill); napi_disable(&rq->napi); read rq->mrg_avg_pkt_len virtnet_enable_napi(); rtnl_unlock(); Additionally, if we disable NAPI when reading this file, perhaps the permissions shou...
2012 Apr 04
2
[PATCH RFC] virtio-net: remove useless disable on freeze
...edhat.com> --- drivers/net/virtio_net.c | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 019da01..971931e5 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -1182,11 +1182,6 @@ static int virtnet_freeze(struct virtio_device *vdev) { struct virtnet_info *vi = vdev->priv; - virtqueue_disable_cb(vi->rvq); - virtqueue_disable_cb(vi->svq); - if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)) - virtqueue_disable_cb(vi->cvq); - netif_device_detach(vi->dev); cancel_delayed...
2012 Apr 04
2
[PATCH RFC] virtio-net: remove useless disable on freeze
...edhat.com> --- drivers/net/virtio_net.c | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 019da01..971931e5 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -1182,11 +1182,6 @@ static int virtnet_freeze(struct virtio_device *vdev) { struct virtnet_info *vi = vdev->priv; - virtqueue_disable_cb(vi->rvq); - virtqueue_disable_cb(vi->svq); - if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)) - virtqueue_disable_cb(vi->cvq); - netif_device_detach(vi->dev); cancel_delayed...
2014 Oct 05
0
[PATCH 08/16] virtio_net: drop config_enable
...;config_enable = false; - mutex_unlock(&vi->config_lock); + flush_work(&vi->config_work); unregister_netdev(vi->dev); remove_vq_common(vi); - flush_work(&vi->config_work); - free_percpu(vi->stats); free_netdev(vi->dev); } @@ -1899,9 +1888,7 @@ static int virtnet_freeze(struct virtio_device *vdev) unregister_hotcpu_notifier(&vi->nb); /* Prevent config work handler from accessing the device */ - mutex_lock(&vi->config_lock); - vi->config_enable = false; - mutex_unlock(&vi->config_lock); + flush_work(&vi->config_work); netif_...
2014 Oct 06
0
[PATCH v2 07/15] virtio_net: drop config_enable
...ck); + /* Make sure no work handler is accessing the device. */ + flush_work(&vi->config_work); unregister_netdev(vi->dev); remove_vq_common(vi); - flush_work(&vi->config_work); - free_percpu(vi->stats); free_netdev(vi->dev); } @@ -1898,10 +1887,8 @@ static int virtnet_freeze(struct virtio_device *vdev) unregister_hotcpu_notifier(&vi->nb); - /* Prevent config work handler from accessing the device */ - mutex_lock(&vi->config_lock); - vi->config_enable = false; - mutex_unlock(&vi->config_lock); + /* Make sure no work handler is accessing the...
2015 Mar 12
0
[PATCH net] virtio-net: correctly delete napi hash
...fffff814c894f>] driver_register+0x5f/0xf0 > [<ffffffff8139e41b>] register_virtio_driver+0x1b/0x30 > [<ffffffffa0a60010>] virtio_net_driver_init+0x10/0x12 [virtio_net] > > This patch fixes this by doing this in virtnet_free_queues(). And also > don't delete napi in virtnet_freeze() since it will call > virtnet_free_queues() which has already did this. > > Fixes 91815639d880 ("virtio-net: rx busy polling support") > Cc: Rusty Russell <rusty at rustcorp.com.au> > Cc: Michael S. Tsirkin <mst at redhat.com> > Signed-off-by: Jason Wang &l...
2015 Mar 12
0
[PATCH net] virtio-net: correctly delete napi hash
...fffff814c894f>] driver_register+0x5f/0xf0 > [<ffffffff8139e41b>] register_virtio_driver+0x1b/0x30 > [<ffffffffa0a60010>] virtio_net_driver_init+0x10/0x12 [virtio_net] > > This patch fixes this by doing this in virtnet_free_queues(). And also > don't delete napi in virtnet_freeze() since it will call > virtnet_free_queues() which has already did this. > > Fixes 91815639d880 ("virtio-net: rx busy polling support") > Cc: Rusty Russell <rusty at rustcorp.com.au> > Cc: Michael S. Tsirkin <mst at redhat.com> > Signed-off-by: Jason Wang &l...
2014 Oct 06
1
[PATCH 08/16] virtio_net: drop config_enable
..._lock); > + flush_work(&vi->config_work); > > unregister_netdev(vi->dev); > > remove_vq_common(vi); > > - flush_work(&vi->config_work); > - > free_percpu(vi->stats); > free_netdev(vi->dev); > } > @@ -1899,9 +1888,7 @@ static int virtnet_freeze(struct virtio_device *vdev) > unregister_hotcpu_notifier(&vi->nb); > > /* Prevent config work handler from accessing the device */ dito > - mutex_lock(&vi->config_lock); > - vi->config_enable = false; > - mutex_unlock(&vi->config_lock); > + flush_...
2014 Oct 06
1
[PATCH 08/16] virtio_net: drop config_enable
..._lock); > + flush_work(&vi->config_work); > > unregister_netdev(vi->dev); > > remove_vq_common(vi); > > - flush_work(&vi->config_work); > - > free_percpu(vi->stats); > free_netdev(vi->dev); > } > @@ -1899,9 +1888,7 @@ static int virtnet_freeze(struct virtio_device *vdev) > unregister_hotcpu_notifier(&vi->nb); > > /* Prevent config work handler from accessing the device */ dito > - mutex_lock(&vi->config_lock); > - vi->config_enable = false; > - mutex_unlock(&vi->config_lock); > + flush_...
2011 Nov 15
1
[PATCH v2 09/11] virtio: net: Add freeze, restore handlers to support S4
...100644 > > --- a/drivers/net/virtio_net.c > > +++ b/drivers/net/virtio_net.c > > @@ -1131,6 +1131,30 @@ static void __devexit virtnet_remove(struct virtio_device *vdev) > > free_netdev(vi->dev); > > } > > > > +#ifdef CONFIG_PM > > +static int virtnet_freeze(struct virtio_device *vdev) > > +{ > > + struct virtnet_info *vi = vdev->priv; > > I'm guessing we need to do something like netif_device_detach here, > otherwise guest might be in the process of using the vq for transmit at > this point. Done. > I think we also...
2011 Nov 15
1
[PATCH v2 09/11] virtio: net: Add freeze, restore handlers to support S4
...100644 > > --- a/drivers/net/virtio_net.c > > +++ b/drivers/net/virtio_net.c > > @@ -1131,6 +1131,30 @@ static void __devexit virtnet_remove(struct virtio_device *vdev) > > free_netdev(vi->dev); > > } > > > > +#ifdef CONFIG_PM > > +static int virtnet_freeze(struct virtio_device *vdev) > > +{ > > + struct virtnet_info *vi = vdev->priv; > > I'm guessing we need to do something like netif_device_detach here, > otherwise guest might be in the process of using the vq for transmit at > this point. Done. > I think we also...
2012 Apr 12
2
[net-next V7 PATCH] virtio-net: send gratuitous packets when needed
...ock(&vi->config_lock); + vi->config_enable = false; + mutex_unlock(&vi->config_lock); + unregister_netdev(vi->dev); remove_vq_common(vi); + flush_work(&vi->config_work); + free_percpu(vi->stats); free_netdev(vi->dev); } @@ -1183,6 +1225,11 @@ static int virtnet_freeze(struct virtio_device *vdev) { struct virtnet_info *vi = vdev->priv; + /* Prevent config work handler from accessing the device */ + mutex_lock(&vi->config_lock); + vi->config_enable = false; + mutex_unlock(&vi->config_lock); + virtqueue_disable_cb(vi->rvq); virtqueue...
2012 Apr 12
2
[net-next V7 PATCH] virtio-net: send gratuitous packets when needed
...ock(&vi->config_lock); + vi->config_enable = false; + mutex_unlock(&vi->config_lock); + unregister_netdev(vi->dev); remove_vq_common(vi); + flush_work(&vi->config_work); + free_percpu(vi->stats); free_netdev(vi->dev); } @@ -1183,6 +1225,11 @@ static int virtnet_freeze(struct virtio_device *vdev) { struct virtnet_info *vi = vdev->priv; + /* Prevent config work handler from accessing the device */ + mutex_lock(&vi->config_lock); + vi->config_enable = false; + mutex_unlock(&vi->config_lock); + virtqueue_disable_cb(vi->rvq); virtqueue...
2014 Sep 05
1
[PATCH 1/1] add selftest for virtio-net v1.0
...channels, + .self_test = virtnet_self_test, + .get_strings = virtnet_get_strings, + .get_sset_count = virtnet_get_sset_count, }; #define MIN_MTU 68 @@ -1890,14 +2079,10 @@ static void virtnet_remove(struct virtio_device *vdev) free_netdev(vi->dev); } -#ifdef CONFIG_PM_SLEEP -static int virtnet_freeze(struct virtio_device *vdev) +static void virtnet_stop(struct virtnet_info *vi) { - struct virtnet_info *vi = vdev->priv; int i; - unregister_hotcpu_notifier(&vi->nb); - /* Prevent config work handler from accessing the device */ mutex_lock(&vi->config_lock); vi->confi...
2014 Sep 05
1
[PATCH 1/1] add selftest for virtio-net v1.0
...channels, + .self_test = virtnet_self_test, + .get_strings = virtnet_get_strings, + .get_sset_count = virtnet_get_sset_count, }; #define MIN_MTU 68 @@ -1890,14 +2079,10 @@ static void virtnet_remove(struct virtio_device *vdev) free_netdev(vi->dev); } -#ifdef CONFIG_PM_SLEEP -static int virtnet_freeze(struct virtio_device *vdev) +static void virtnet_stop(struct virtnet_info *vi) { - struct virtnet_info *vi = vdev->priv; int i; - unregister_hotcpu_notifier(&vi->nb); - /* Prevent config work handler from accessing the device */ mutex_lock(&vi->config_lock); vi->confi...