From: Laszlo Ersek <lersek@redhat.com>
To: Ben Warren <ben@skyportsystems.com>
Cc: Igor Mammedov <imammedo@redhat.com>,
qemu-devel@nongnu.org, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH v8 4/8] ACPI: Add Virtual Machine Generation ID support
Date: Fri, 17 Feb 2017 21:42:18 +0100 [thread overview]
Message-ID: <702669a7-7c67-5f04-db8c-f5aba7d98d11@redhat.com> (raw)
In-Reply-To: <9B914CBD-40ED-46CF-9420-E7BB13EB6D1B@skyportsystems.com>
On 02/17/17 19:34, Ben Warren wrote:
>
>> On Feb 17, 2017, at 8:03 AM, Laszlo Ersek <lersek@redhat.com
>> <mailto:lersek@redhat.com>> wrote:
>>
>> On 02/17/17 16:33, Ben Warren wrote:
>>>
>>>> On Feb 17, 2017, at 2:43 AM, Igor Mammedov <imammedo@redhat.com
>>>> <mailto:imammedo@redhat.com>
>>>> <mailto:imammedo@redhat.com>> wrote:
>>>>
>>>> On Thu, 16 Feb 2017 15:15:36 -0800
>>>> ben@skyportsystems.com
>>>> <mailto:ben@skyportsystems.com> <mailto:ben@skyportsystems.com> wrote:
>>>>
>>>>> From: Ben Warren <ben@skyportsystems.com
>>>>> <mailto:ben@skyportsystems.com> <mailto:ben@skyportsystems.com>>
>>>>>
>>>>> This implements the VM Generation ID feature by passing a 128-bit
>>>>> GUID to the guest via a fw_cfg blob.
>>>>> Any time the GUID changes, an ACPI notify event is sent to the guest
>>>>>
>>>>> The user interface is a simple device with one parameter:
>>>>> - guid (string, must be "auto" or in UUID format
>>>>> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
>>>> I've given it some testing with WS2012R2 and v4 patches for Seabios,
>>>>
>>>> Windows is able to read initial GUID allocation and writeback
>>>> seems to work somehow:
>>>>
>>>> (qemu) info vm-generation-id
>>>> c109c09b-0e8b-42d5-9b33-8409c9dcd16c
>>>>
>>>> vmgenid client in Windows reads it as 2 following 64bit integers:
>>>> 42d50e8bc109c09b:6cd1dcc90984339b
>>>>
>>>> However update path/restore from snapshot doesn't
>>>> here is as I've tested it:
>>>>
>>>> qemu-system-x86_64 -device vmgenid,id=testvgid,guid=auto -monitor stdio
>>>> (qemu) info vm-generation-id
>>>> c109c09b-0e8b-42d5-9b33-8409c9dcd16c
>>>> (qemu) stop
>>>> (qemu) migrate "exec:gzip -c > STATEFILE.gz"
>>>> (qemu) quit
>>>>
>>>> qemu-system-x86_64 -device vmgenid,id=testvgid,guid=auto -monitor stdio
>>>> -incoming "exec: gzip -c -d STATEFILE.gz"
>>>> (qemu) info vm-generation-id
>>>> 28b587fa-991b-4267-80d7-9cf28b746fe9
>>>>
>>>> guest
>>>> 1. doesn't get GPE notification that it must receive
>>>> 2. vmgenid client in Windows reads the same value
>>>> 42d50e8bc109c09b:6cd1dcc90984339b
>>>>
>>> Strange, this was working for me, but with a slightly different test
>>> method:
>>>
>>> * I use virsh save/restore
>>
>> Awesome, this actually what I should try. All my guests are managed by
>> libvirt (with the occasional <qemu:arg>, for development), and direct
>> QEMU monitor commands such as
>>
>> virsh qemu-monitor-command ovmf.rhel7 --hmp 'info vm-generation-id'
>>
>> only work for me if they are reasonably non-intrusive.
>>
>>> * While I do later testing with Windows, during development I use a
>>> Linux kernel module I wrote that keeps track of GUID and
>>> notifications. I’m happy to share this with you if interested.
>>
>> Please do. If you have a public git repo somewhere, that would be
>> awesome. (Bonus points if the module builds out-of-tree, if the
>> kernel-devel package is installed.)
>>
> Here you go:
> https://github.com/ben-skyportsystems/vmgenid-test
Ah, thanks -- I apologize, I stopped refreshing my incoming email while
I was testing and writing up the results. I'll stash this for later though.
Thanks!
Laszlo
> I don’t know if something like this would ever be accepted into the
> Linux kernel, but it has been invaluable to me, and I’d like to see it
> somewhere better.
>
>> NB: while the set-id monitor command was part of the series, I did test
>> it to the extent that I checked the SCI ("ACPI interrupt") count in the
>> guest, in /proc/interrupts. I did see it increase, so minimally the SCI
>> injection was fine.
>>
>> Thanks!
>> Laszlo
>>
>>> I’ll dig into this morning.
>>>
>>> —Ben
>>> <snip>
>
next prev parent reply other threads:[~2017-02-17 20:42 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-16 23:15 [Qemu-devel] [PATCH v8 0/8] Add support for VM Generation ID ben
2017-02-16 23:15 ` [Qemu-devel] [PATCH v8 1/8] linker-loader: Add new 'write pointer' command ben
2017-02-16 23:15 ` [Qemu-devel] [PATCH v8 2/8] docs: VM Generation ID device description ben
2017-02-16 23:15 ` [Qemu-devel] [PATCH v8 3/8] ACPI: Add vmgenid blob storage to the build tables ben
2017-02-16 23:15 ` [Qemu-devel] [PATCH v8 4/8] ACPI: Add Virtual Machine Generation ID support ben
2017-02-17 10:43 ` Igor Mammedov
2017-02-17 12:50 ` Laszlo Ersek
2017-02-17 13:05 ` Igor Mammedov
2017-02-17 13:41 ` Laszlo Ersek
2017-02-20 10:23 ` Dr. David Alan Gilbert
2017-02-20 10:40 ` Laszlo Ersek
2017-02-20 11:00 ` Dr. David Alan Gilbert
2017-02-20 11:38 ` Laszlo Ersek
2017-02-20 12:32 ` Dr. David Alan Gilbert
2017-02-20 15:35 ` Laszlo Ersek
2017-02-20 13:13 ` Igor Mammedov
2017-02-20 13:28 ` Laszlo Ersek
2017-02-20 14:40 ` Igor Mammedov
2017-02-20 20:00 ` Eric Blake
2017-02-20 20:19 ` Dr. David Alan Gilbert
2017-02-20 20:45 ` Eric Blake
2017-02-20 20:55 ` Laszlo Ersek
2017-02-21 1:43 ` Michael S. Tsirkin
2017-02-21 9:58 ` Laszlo Ersek
2017-02-21 14:14 ` Michael S. Tsirkin
2017-02-21 16:08 ` Laszlo Ersek
2017-02-21 16:17 ` Michael S. Tsirkin
2017-02-21 16:50 ` Laszlo Ersek
2017-02-20 20:49 ` Laszlo Ersek
2017-02-17 15:33 ` Ben Warren
2017-02-17 16:03 ` Laszlo Ersek
2017-02-17 18:34 ` Ben Warren
2017-02-17 19:00 ` Michael S. Tsirkin
2017-02-17 20:42 ` Laszlo Ersek [this message]
2017-02-17 20:07 ` Laszlo Ersek
2017-02-18 0:15 ` Ben Warren
2017-02-16 23:15 ` [Qemu-devel] [PATCH v8 5/8] qmp/hmp: add query-vm-generation-id and 'info vm-generation-id' commands ben
2017-02-16 23:15 ` [Qemu-devel] [PATCH v8 6/8] tests: Move reusable ACPI code into a utility file ben
2017-02-20 14:49 ` Igor Mammedov
2017-02-16 23:15 ` [Qemu-devel] [PATCH v8 7/8] tests: Add unit tests for the VM Generation ID feature ben
2017-02-20 14:49 ` Igor Mammedov
2017-04-21 10:14 ` Marc-André Lureau
2017-04-21 17:59 ` Ben Warren
2017-04-24 12:28 ` Laszlo Ersek
2017-02-16 23:15 ` [Qemu-devel] [PATCH v8 8/8] MAINTAINERS: Add VM Generation ID entries ben
2017-02-20 14:50 ` Igor Mammedov
2017-02-20 14:57 ` [Qemu-devel] [PATCH v8 0/8] Add support for VM Generation ID Igor Mammedov
2017-02-20 15:41 ` Laszlo Ersek
2017-02-20 15:45 ` Kevin O'Connor
2017-02-20 16:00 ` Laszlo Ersek
2017-02-21 7:10 ` Gerd Hoffmann
2017-02-20 18:10 ` Ben Warren
2017-02-21 12:20 ` Laszlo Ersek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=702669a7-7c67-5f04-db8c-f5aba7d98d11@redhat.com \
--to=lersek@redhat.com \
--cc=ben@skyportsystems.com \
--cc=imammedo@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).