virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Amit Shah <amit.shah@redhat.com>
Cc: linux-kernel@vger.kernel.org, levinsasha928@gmail.com,
	Virtualization List <virtualization@lists.linux-foundation.org>
Subject: Re: [PATCH v3 11/11] virtio: balloon: Add freeze, restore handlers to support S4
Date: Thu, 17 Nov 2011 15:03:46 +0200	[thread overview]
Message-ID: <20111117130345.GA18204@redhat.com> (raw)
In-Reply-To: <20111117122920.GB2873@amit-x200.redhat.com>

On Thu, Nov 17, 2011 at 05:59:20PM +0530, Amit Shah wrote:
> On (Thu) 17 Nov 2011 [14:25:08], Michael S. Tsirkin wrote:
> > On Thu, Nov 17, 2011 at 05:27:42PM +0530, Amit Shah wrote:
> > > Delete the vqs on the freeze callback to prepare for hibernation.
> > > Re-create the vqs in the restore callback to resume normal function.
> > > 
> > > Signed-off-by: Amit Shah <amit.shah@redhat.com>
> > > ---
> > >  drivers/virtio/virtio_balloon.c |   20 ++++++++++++++++++++
> > >  1 files changed, 20 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
> > > index 1ff3cf4..90149d1 100644
> > > --- a/drivers/virtio/virtio_balloon.c
> > > +++ b/drivers/virtio/virtio_balloon.c
> > > @@ -363,6 +363,22 @@ static void __devexit virtballoon_remove(struct virtio_device *vdev)
> > >  	kfree(vb);
> > >  }
> > >  
> > > +#ifdef CONFIG_PM
> > > +static int virtballoon_freeze(struct virtio_device *vdev)
> > > +{
> > > +	/* Now we reset the device so we can clean up the queues. */
> > > +	vdev->config->reset(vdev);
> > > +
> > 
> > This is a weird thing to do. We normally delete vqs then reset.
> 
> No, all the drivers first reset, then delete.


Interesting. I note that for PCI, reset actually just did an I/O
write, which in PCI is really posted, that is it
can complete on CPU before the device has received it.

Further, interrupts might have been pending on the CPU,
so device might get used after reset.

Patch coming.

-- 
MST

  parent reply	other threads:[~2011-11-17 13:03 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-17 11:57 [PATCH v3 00/11] virtio: S4 support Amit Shah
2011-11-17 11:57 ` [PATCH v3 01/11] virtio: pci: switch to new PM API Amit Shah
2011-11-17 11:57 ` [PATCH v3 02/11] virtio: pci: add PM notification handlers for restore, freeze, thaw, poweroff Amit Shah
2011-11-17 11:57 ` [PATCH v3 03/11] virtio: console: Move out vq and vq buf removal into separate functions Amit Shah
2011-11-17 11:57 ` [PATCH v3 04/11] virtio: console: Add freeze and restore handlers to support S4 Amit Shah
2011-11-17 12:30   ` Michael S. Tsirkin
2011-11-17 11:57 ` [PATCH v3 05/11] virtio: blk: Move out vq initialization to separate function Amit Shah
2011-11-17 11:57 ` [PATCH v3 06/11] virtio: blk: Add freeze, restore handlers to support S4 Amit Shah
2011-11-17 11:57 ` [PATCH v3 07/11] virtio: net: Move out vq initialization into separate function Amit Shah
2011-11-17 11:57 ` [PATCH v3 08/11] virtio: net: Move out vq and vq buf removal " Amit Shah
2011-11-17 11:57 ` [PATCH v3 09/11] virtio: net: Add freeze, restore handlers to support S4 Amit Shah
2011-11-17 12:19   ` Michael S. Tsirkin
2011-11-17 12:27     ` Amit Shah
2011-11-17 12:33       ` Michael S. Tsirkin
2011-11-17 11:57 ` [PATCH v3 10/11] virtio: balloon: Move out vq initialization into separate function Amit Shah
2011-11-17 11:57 ` [PATCH v3 11/11] virtio: balloon: Add freeze, restore handlers to support S4 Amit Shah
2011-11-17 12:25   ` Michael S. Tsirkin
2011-11-17 12:29     ` Amit Shah
2011-11-17 12:36       ` Michael S. Tsirkin
2011-11-17 13:03       ` Michael S. Tsirkin [this message]
     [not found] ` <81e98fc00370152ded2eef20f0953f19fad6f0f5.1321530505.git.amit.shah@redhat.com>
2011-11-17 12:28   ` [PATCH v3 06/11] virtio: blk: " Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111117130345.GA18204@redhat.com \
    --to=mst@redhat.com \
    --cc=amit.shah@redhat.com \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).