Hi,

On (Thu) 12 Jan 2012 [16:29:14], Linus Torvalds wrote:
> On Wed, Jan 11, 2012 at 9:22 PM, Rusty Russell <[email protected]> wrote:
> >
> > Amit Shah (12):
> >      virtio: pci: switch to new PM API
> 
> Hmm. Afaik, this is broken, or at least not complete.
> 
> Sure, it switches to the new PM API, but it still does the PCI ops itself.
> 
> It should not need to - the PCI layer will do the power state and
> standard PCI device state saving. And setting the PCI_D3hot state when
> shared interrupts can still happen at suspend time is just a bad idea.

The idea behind this patchset is to get S4 working properly.  There's
no change to the way S3 was/is being done, and the state-setting is
done only in the S3 PM callbacks.

> So I think you're doing extra work and introducing bugs by doing so -
> the default PCI bus operations should already do all you do, just do

For S4, we need some driver-specific (not just virtio-specific) work
to be done on the freeze/restore callbacks...

> it better. And then you can use the SIMPLE_DEV_PM_OPS() to build the
> dev_pm_ops structure and get all the normal cases right automatically.

... and we also have separate stuff to be done in thaw/restore/freeze
callbacks for different drivers.  So using the *_PM_OPS() macros
wouldn't have worked.

> I don't know if there is any particularly good example of this, but
> you can see some of the network drivers for examples of this. Notice
> how they don't need to worry about PCI power states etc at all, they
> just need to worry about the actual chip suspend/resume (and for a
> network driver, you'd do the netif_device_detach/netif_device_attach
> etc)

I think your concern is with the way S3 is being done, and I volunteer
to look at improving the situation there.  Might take a while, though.

                Amit
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to