Michael S. Tsirkin
2012-Apr-04 09:19 UTC
[PATCH RFC] virtio-net: remove useless disable on freeze
disable_cb is just an optimization: it can not guarantee that there are no callbacks. I didn't yet figure out whether a callback in freeze will trigger a bug, but disable_cb won't address it in any case. So let's remove the useless calls as a first step. Signed-off-by: Michael S. Tsirkin <mst at redhat.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_work_sync(&vi->refill); -- 1.7.9.111.gf3fb0
On (Wed) 04 Apr 2012 [12:19:55], Michael S. Tsirkin wrote:> disable_cb is just an optimization: it > can not guarantee that there are no callbacks.Even then, what's the harm in keeping it? If indeed there's an attempt to raise an interrupt after the host has been notified, it will be suppressed. Also, disable_cb seems to be used elsewhere in the virtio_net.c file, to suit similar purposes. Amit
Michael S. Tsirkin
2012-May-28 12:53 UTC
[PATCH RFC] virtio-net: remove useless disable on freeze
On Wed, Apr 04, 2012 at 12:19:54PM +0300, Michael S. Tsirkin wrote:> disable_cb is just an optimization: it > can not guarantee that there are no callbacks. > > I didn't yet figure out whether a callback > in freeze will trigger a bug, but disable_cb > won't address it in any case. So let's remove > the useless calls as a first step. > > Signed-off-by: Michael S. Tsirkin <mst at redhat.com>Looks like this isn't in the 3.5 pull request - just lost in the shuffle? disable_cb is advisory so can't be relied upon.> --- > 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_work_sync(&vi->refill); > > -- > 1.7.9.111.gf3fb0
Reasonably Related Threads
- [PATCH RFC] virtio-net: remove useless disable on freeze
- [PATCH repost] virtio-net: remove useless disable on freeze
- [PATCH repost] virtio-net: remove useless disable on freeze
- [PATCH 1/2] virtio: support unlocked queue poll
- [PATCH 1/2] virtio: support unlocked queue poll