From: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
To: Halil Pasic <pasic@linux.vnet.ibm.com>
Cc: Cornelia Huck <cohuck@redhat.com>,
Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>,
Shalini Chellathurai Saroja <shalini@linux.vnet.ibm.com>,
qemu-devel@nongnu.org,
Christian Borntraeger <borntraeger@de.ibm.com>,
qemu-s390x@nongnu.org,
Boris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [RFC PATCH v2 1/1] s390x/css: unrestrict cssids
Date: Thu, 30 Nov 2017 11:16:24 +0800 [thread overview]
Message-ID: <20171130031624.GT5859@bjsdjshi@linux.vnet.ibm.com> (raw)
In-Reply-To: <a00f1f2f-3f63-bac8-6e57-52a509967064@linux.vnet.ibm.com>
* Halil Pasic <pasic@linux.vnet.ibm.com> [2017-11-29 17:30:15 +0100]:
>
>
> On 11/29/2017 12:47 PM, Cornelia Huck wrote:
> > On Wed, 29 Nov 2017 16:17:35 +0800
> > Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
> >
> >> * Halil Pasic <pasic@linux.vnet.ibm.com> [2017-11-28 14:07:58 +0100]:
> >>
> >> [...]
> >>> The auto-generated bus ids are affected by both changes. We hope to not
> >>> encounter any auto-generated bus ids in production as Libvirt is always
> >>> explicit about the bus id. Since 8ed179c937 ("s390x/css: catch section
> >>> mismatch on load", 2017-05-18) the worst that can happen because the same
> >>> device ended up having a different bus id is a cleanly failed migration.
> >>> I find it hard to reason about the impact of changed auto-generated bus
> >>> ids on migration for command line users as I don't know which rules is
> >>> such an user supposed to follow.
> >> For this paragraph, Halil pointed to me a case that he is thinking of.
> >> 1. VM configuration with 3 devices:
> >> -device virtio (e.g. virtio-blk-ccw,id=disk0)
> >> -device vfio-ccw (e.g. id=vfio0)
> >> -device virtio (e.g. virtio-rng-ccw,id=rng0)
> >> 2. Start the vm.
> >> 3. device_del vfio0
> >> 4. migrate "exec:gzip -c > /tmp/tmp_vmstate.gz"
> >> 5. modify cmd line from step 1 by removing the vfio0 device, and adding:
> >> -incoming "exec:gzip -c -d /tmp/tmp_vmstate.gz"
> >>
> >> Let me list my test results here for everybody's reference.
> >>
> >> W/o this patch
> >> ==============
> >>
> >> ------------+---------------+-------------
> >> | squashing off | squashing on
> >> ------------+---------------+-------------
> >> auto id | F | F
> >> ------------+---------------+-------------
> >> explicit id | F | S
> >> ------------+---------------+-------------
> >>
> >> T1. squashing off + auto id
> >> qemu-system-s390x: vmstate: get_nullptr expected VMS_NULLPTR_MARKER
> >> qemu-system-s390x: Failed to load s390_css:css
> >> qemu-system-s390x: error while loading state for instance 0x0 of device 's390_css'
> >> qemu-system-s390x: load of migration failed: Invalid argument
> >> [Fail due to css mismatch - there is no css 0 in the new vm.]
> >>
> >> T2. squashing off + explicit given id
> >> qemu-system-s390x: vmstate: get_nullptr expected VMS_NULLPTR_MARKER
> >> qemu-system-s390x: Failed to load s390_css:css
> >> qemu-system-s390x: error while loading state for instance 0x0 of device 's390_css'
> >> qemu-system-s390x: load of migration failed: Invalid argument
> >> [Fail due to css mismatch - there is no css 0 in the new vm.]
> > Hmm... so should we even try to migrate an empty css 0? It only exists
> > because we have created a device that we had to detach anyway because
> > it was non-migrateable...
> >
> > [Probably no easy way to deal with this, though.]
> >
>
> We could make the thing go away when the last device is gone.
Is it possible to free the empty css in a .pre_save handler somewhere?
> I see a general problem with implicitly generated shared stuff.
>
> Obviously we can't fix the past.
Nod.
>
> @Dong Jia:
>
> Thanks for doing the experiments and publishing your findings.
>
Just want to ease the review. No need mention. :)
--
Dong Jia Shi
next prev parent reply other threads:[~2017-11-30 3:16 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-28 13:07 [Qemu-devel] [RFC PATCH v2 1/1] s390x/css: unrestrict cssids Halil Pasic
2017-11-29 8:17 ` Dong Jia Shi
2017-11-29 8:20 ` Dong Jia Shi
2017-11-29 11:47 ` Cornelia Huck
2017-11-29 16:30 ` Halil Pasic
2017-11-30 3:16 ` Dong Jia Shi [this message]
2017-11-30 3:29 ` Dong Jia Shi
2017-11-29 12:37 ` Cornelia Huck
2017-11-29 16:25 ` Halil Pasic
2017-11-29 17:29 ` Cornelia Huck
2017-11-30 12:32 ` Halil Pasic
2017-11-30 13:32 ` Cornelia Huck
2017-12-01 14:38 ` Halil Pasic
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=20171130031624.GT5859@bjsdjshi@linux.vnet.ibm.com \
--to=bjsdjshi@linux.vnet.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=fiuczy@linux.vnet.ibm.com \
--cc=pasic@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=shalini@linux.vnet.ibm.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.