Re: [PATCH 00/11] virtio: Support for hibernation (S4)

From: Amit Shah
Date: Tue Nov 15 2011 - 07:52:54 EST


On (Tue) 04 Oct 2011 [10:36:05], Rusty Russell wrote:
> On Sun, 2 Oct 2011 11:49:21 +0200, "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:
> > On Thu, Sep 29, 2011 at 08:55:56PM +0530, Amit Shah wrote:
> > > Hello,
> > >
> > > These patches add support for S4 to virtio (pci) and all drivers. The
> > > patches are based on the virtio-console patch series in Rusty's queue.
> > >
> > > For each driver, all vqs are removed before hibernation, and then
> > > re-created after restore.
> > >
> > > All the drivers in testing work fine:
> > >
> > > * virtio-blk is used for the only disk in the VM, IO works fine before
> > > and after.
>
> I'm not familiar with the suspend code, but:
>
> 1) Does it already ensure there are no outstanding I/O requests? If
> not, we want to restore them when we unfreeze.

For the blk code, I added blk_drain_queue() and related calls to the
freeze handler, that was missed earlier.

> 2) Does it stop more I/O from reaching do_virtblk_request during freeze?
> If not, we need to.

Added blk_stop_queue() and blk_start_queue() calls to ensure this.

> If we need to save and restore requests, I don't think we should do this
> on a per-driver basis, but try to do it in the core.

Agreed, however currently we don't save and restore any pending vq
items. If it is necessary, we should do it in common code (earlier
version of this patchset did that). I think we can get better results
by flushing the vq instead of trying to save/restore elements.

Amit
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/