On 2017年01月16日 08:01, John Fastabend wrote:
In virtio_net we need to do a full reset of the device to support
queue reconfiguration and also we can trigger this via ethtool
commands. So instead of open coding this in net driver push this
into generic code in virtio. This also avoid exporting a handful
of internal virtio routines.
Looks like this is not a pci specific stuffs. And there's some driver
left (e.g scsi and block).
In fact, I'm not sure touching other drivers is really needed. Maybe we
can just:
- move virtio_device_freeze(), virtio_device_restore() and
.freeze/.restore in virtio_driver out of CONFIG_PM_SLEEP
- move virtnet_freeze() and virtnet_restore() out of CONFIG_PM_SLEEP
- introduce virtio_net_reset() and call
virtio_device_freeze()/virtio_device_restore() there
Another possible issue for sleep/hibernation is xdp_prog were not
restored, if this is not XDP intended, we'd better fix this.
Thanks
[...]