[virtio-dev] Re: [virtio-comment] [PATCH v3 1/1] Define a low power mode for devices

David Stevens <[email protected]>
Newsgroups dev.linux.lists.virtio-dev,dev.linux.lists.virtio-comment
Message-ID <CAD=HUj4A_xvgD09OqvTVW8s4cieP3qFZBy0bXe=+FA028d5CoA@mail.gmail.com>
On Thu, Dec 7, 2023 at 1:16 PM Jason Wang <[email protected]> wrote:
>
> On Wed, Dec 6, 2023 at 6:17 PM Michael S. Tsirkin <[email protected]> wrote:
> >
> > On Wed, Dec 06, 2023 at 05:16:04PM +0800, Jason Wang wrote:
> > > On Tue, Dec 5, 2023 at 6:58 PM David Stevens <[email protected]> wrote:
> > > >
> > > > On Tue, Dec 5, 2023 at 1:18 PM Jason Wang <[email protected]> wrote:
> > > > >
> > > > > On Mon, Dec 4, 2023 at 5:41 PM David Stevens <[email protected]> wrote:
> > > > > >
> > > > > > Define a low power mode for virtio devices where the devices are
> > > > > > expected to maintain their state. This gives drivers an option for power
> > > > > > management besides simply resetting their device. In the virtualization
> > > > > > use case, this allows the guest to be suspended even with stateful
> > > > > > virtio devices like gpu and fs.
> > > > > >
> > > > > > Low power mode is primarily defined at the transport layer. The only
> > > > > > part that depends on device-type specific details is whether a given
> > > > > > virtqueue is device driven or driver driven.
> > > > > >
> > > > > > This change only defines the transport-specific implementation for
> > > > > > Virtio over PCI.
> > > > >
> > > > > A dumb question, if this is only for PCI, can the device just
> > > > > implement no_soft_reset via PMC?
> > > >
> > > > This is basically No_Soft_Reset, yes. If a change similar to [1] would
> > > > be acceptable based only on the No_Soft_Reset bit even with no concept
> > > > of power management in the virtio spec, then I personally don't have
> > > > any problems with that.
> > > >
> > > > [1] https://lore.kernel.org/lkml/[email protected]/
> > >
> > > So if I read the code correctly, the current Qemu advertises PM but
> > > without no_soft_reset.
> > >
> > > So this patch seems to break e.g virtio-net and doesn't fix virtio-GPU.
> > >
> > > Thanks
> > >
> > > >
> > > > -David
> > > >
> >
> > what is the breakage exactly?
>
> It looks to me we need:
>
> 1) Device side, if device can preserve state on d3hot, it may
> advertise no_soft_reset
> 2) Driver side, if driver sees no_soft_reset, it doesn't need to
> manually suspend and resume. But in the above patch, it only checks
> the existence of PM, it looks to me it needs to check no_soft_reset
> instead.

Right, my original reply was needlessly vague. Similar to the linked
patch, but based on checking No_Soft_Reset instead of just pm_cap.

That also raises the point that the proposed spec changes are also
insufficient - the PCI section needs to say that setting No_Soft_Reset
is required for low power mode.

-David

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.