[vfio-users] Suspending host with guest still running?

Quentin Deldycke quentindeldycke at gmail.com
Thu Mar 10 07:18:30 UTC 2016


Hello,

Just to have some followup on this, on debian, i tested kernel 4.5 in rc4
and rc7. Both seems to beak this functionality. Host freezes when the guest
is restarted.

Note that i made a modification on the wakeup script. Seems that the
devices (or something else) send sleep request to the guest when I try to
wake it up....

So... the wakeup is in a "while" \o/. Mostly it retries 3 times... i have 3
passed devices... i find this not enough random to be random.


Here is a dmesg of how it looks like. Not so pretty, but it work.

--
Deldycke Quentin


On 19 February 2016 at 23:57, Quentin Deldycke <quentindeldycke at gmail.com>
wrote:

> Hello,
>
> As i sayed, the suspend of the vm with the host seems quite reliable.
>
> systemd is not my favorite thing, but i manage to make working hooks.
>
> Available if some are interested. Mainly all my script are made to be run
> from my /home/rholk/sbin or /home/rholk/sbin/vmdata if never called from
> shell.
>
> https://github.com/qdel/scripts
>
> Most scripts are dirty, but it work flawlessly with a few adaptations :)
>
> --
> Deldycke Quentin
>
>
> On 19 February 2016 at 17:06, Quentin Deldycke <quentindeldycke at gmail.com>
> wrote:
>
>> In fact, i was too exited to test this, so using only ssh / vnc:
>>
>>    - If i let the vm "normal", it is freezed at restart of host
>>    - If i use virsh suspend / start, it is also freezed
>>    - But: if i re-enable suspend to ram, and put the windows to sleep,
>>    then the linux, restart the linux (waiting ~1-2minutes), restart the guest:
>>    it works \o/
>>
>> Actually, the vfio-pci devices work, gpu, ssd, and sata controller. I
>> need to be in front to check if my mouse move and my keyboard work :)
>>
>>
>> This is brilliant! With the correct hooks on suspend / resume, it could
>> one of the last limitation of this technology =)
>>
>> I will share on github such hooks if they work.
>>
>> --
>> Deldycke Quentin
>>
>>
>> On 19 February 2016 at 15:36, Rokas Kupstys <rokups at zoho.com> wrote:
>>
>>> You probably could if guest did not use any passed-through devices. If
>>> it does use them there will be trouble.
>>>
>>>
>>> On 2016.02.19 16:29, Quentin Deldycke wrote:
>>>
>>> Hello,
>>>
>>> Is it possible to have the guest still working while putting the host to
>>> sleep? And still working at restart?
>>>
>>> I can suspend my host, but guest is blocked when it is back. For the
>>> moment, i start / shudown the guest any time i want to put the host to
>>> sleep.
>>>
>>> Do i need to suspend the guest also and make it restart after?
>>>
>>> (Note that i forward quite a lot of stuff, R9 290 / nvme ssd / sata
>>> controler / usb devices)
>>>
>>> I ask the question because of the mail:
>>> https://www.redhat.com/archives/vfio-users/2015-December/msg00059.html
>>> --
>>> Deldycke Quentin
>>>
>>>
>>>
>>> _______________________________________________
>>> vfio-users mailing listvfio-users at redhat.comhttps://www.redhat.com/mailman/listinfo/vfio-users
>>>
>>>
>>>
>>> _______________________________________________
>>> vfio-users mailing list
>>> vfio-users at redhat.com
>>> https://www.redhat.com/mailman/listinfo/vfio-users
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160310/4849e7f0/attachment.htm>
-------------- next part --------------
[12381.262721] Restarting tasks ...
[12381.262947] pci_bus 0000:06: Allocating resources
[12381.263046] pcieport 0000:05:00.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 06-0a] add_size 200000 add_align 100000
[12381.263048] pcieport 0000:05:00.0: res[15]=[mem 0x00100000-0x000fffff 64bit pref] res_to_dev_res add_size 200000 min_align 100000
[12381.263049] pcieport 0000:05:00.0: res[15]=[mem 0x00100000-0x002fffff 64bit pref] res_to_dev_res add_size 200000 min_align 100000
[12381.263051] pcieport 0000:05:00.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[12381.263052] pcieport 0000:05:00.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[12381.263054] pcieport 0000:05:00.0: BAR 15: no space for [mem size 0x00200000 64bit pref]
[12381.263055] pcieport 0000:05:00.0: BAR 15: failed to assign [mem size 0x00200000 64bit pref]
[12381.302226] done.
[12381.302232] video LNXVIDEO:00: Restoring backlight state
[12381.332669] usb 3-1: 2:1: cannot get freq at ep 0x84
[12381.333294] usb 3-1: 2:1: cannot get freq at ep 0x84
[12381.340804] usb 3-1: 2:1: cannot get freq at ep 0x84
[12381.341420] usb 3-1: 2:1: cannot get freq at ep 0x84
[12381.346454] br: port 1(eth0) entered disabled state
[12381.346462] br: topology change detected, propagating
[12381.354010] device eth0 left promiscuous mode
[12381.354026] br: port 1(eth0) entered disabled state
[12381.382550] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[12381.424174] r8169 0000:04:00.0 eth0: link down
[12381.424226] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[12381.425829] r8169 0000:04:00.0 eth0: link down
[12382.377329]  Id    Name                           State
               ----------------------------------------------------
                2     win10                          pmsuspended

[12382.396295] win10 is sleeping, waking it up
[12382.409521] Domain win10 successfully woken up
[12382.410598] win10 is now awaken
[12384.427614]  Id    Name                           State
               ----------------------------------------------------
                2     win10                          pmsuspended

[12384.444689] win10 is sleeping, waking it up
[12384.629142] r8169 0000:04:00.0 eth0: link up
[12384.629148] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[12384.631595] device eth0 entered promiscuous mode
[12384.631662] br: port 1(eth0) entered listening state
[12384.631668] br: port 1(eth0) entered listening state
[12385.763950] Domain win10 successfully woken up
[12385.765051] win10 is now awaken
[12386.881634] usb 1-9.3.1: reset full-speed USB device number 6 using xhci_hcd
[12386.971123] usb 1-9.3.1: ep 0x82 - rounding interval to 32 microframes, ep desc says 48 microframes
[12386.971127] usb 1-9.3.1: ep 0x83 - rounding interval to 32 microframes, ep desc says 48 microframes
[12386.971129] usb 1-9.3.1: ep 0x84 - rounding interval to 32 microframes, ep desc says 48 microframes
[12386.971132] usb 1-9.3.1: ep 0x85 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.057661] usb 1-9.3.1: reset full-speed USB device number 6 using xhci_hcd
[12387.147142] usb 1-9.3.1: ep 0x82 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.147147] usb 1-9.3.1: ep 0x83 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.147150] usb 1-9.3.1: ep 0x84 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.147155] usb 1-9.3.1: ep 0x85 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.233652] usb 1-9.3.1: reset full-speed USB device number 6 using xhci_hcd
[12387.323045] usb 1-9.3.1: ep 0x82 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.323048] usb 1-9.3.1: ep 0x83 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.323051] usb 1-9.3.1: ep 0x84 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.323054] usb 1-9.3.1: ep 0x85 - rounding interval to 32 microframes, ep desc says 48 microframes
[12387.405645] usb 1-9.3.2: reset full-speed USB device number 7 using xhci_hcd
[12387.581636] usb 1-9.3.2: reset full-speed USB device number 7 using xhci_hcd
[12387.757628] usb 1-9.3.2: reset full-speed USB device number 7 using xhci_hcd
[12387.781250]  Id    Name                           State
               ----------------------------------------------------
                2     win10                          running

[12388.066440] usb 3-1: reset high-speed USB device number 2 using xhci_hcd
[12388.251670] gspca_main: ov534_9-2.14.0 probing 06f8:3003


More information about the vfio-users mailing list