summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2016-03-15 19:34:54 +0100
committerTimothy Pearson <tpearson@raptorengineering.com>2019-11-29 19:49:39 -0600
commita227802b4b272d53c466c679779936d2f38a465c (patch)
tree579d8b6de55682da0e1510067fbe7086bbfbd6e9 /docs
parent1008d49e12dc901ac75490dfce4ed5f1e40bf950 (diff)
downloadhqemu-a227802b4b272d53c466c679779936d2f38a465c.zip
hqemu-a227802b4b272d53c466c679779936d2f38a465c.tar.gz
ivshmem: Require master to have ID zero
Migration with ivshmem needs to be carefully orchestrated to work. Exactly one peer (the "master") migrates to the destination, all other peers need to unplug (and disconnect), migrate, plug back (and reconnect). This is sort of documented in qemu-doc. If peers connect on the destination before migration completes, the shared memory can get messed up. This isn't documented anywhere. Fix that in qemu-doc. To avoid messing up register IVPosition on migration, the server must assign the same ID on source and destination. ivshmem-spec.txt leaves ID assignment unspecified, however. Amend ivshmem-spec.txt to require the first client to receive ID zero. The example ivshmem-server complies: it always assigns the first unused ID. For a bit of additional safety, enforce ID zero for the master. This does nothing when we're not using a server, because the ID is zero for all peers then. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <1458066895-20632-40-git-send-email-armbru@redhat.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/specs/ivshmem-spec.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/docs/specs/ivshmem-spec.txt b/docs/specs/ivshmem-spec.txt
index f3912c0..a1f5499 100644
--- a/docs/specs/ivshmem-spec.txt
+++ b/docs/specs/ivshmem-spec.txt
@@ -164,6 +164,8 @@ For each new client that connects to the server, the server
- sends interrupt setup messages to the new client (these contain file
descriptors for receiving interrupts).
+The first client to connect to the server receives ID zero.
+
When a client disconnects from the server, the server sends disconnect
notifications to the other clients.
OpenPOWER on IntegriCloud