All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Pavel Dovgaluk <Pavel.Dovgaluk@ispras.ru>,
	Amit Shah <amit.shah@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 09/10] piix: do not raise irq while loading vmstate
Date: Wed, 10 Sep 2014 09:51:06 +0100	[thread overview]
Message-ID: <CAFEAcA-7bw-xmbsUAor4eDQqEJxak9PV=R-LVwR5WH+T+72GhA@mail.gmail.com> (raw)
In-Reply-To: <54100E16.1040306@redhat.com>

On 10 September 2014 09:38, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 09/09/2014 22:51, Michael S. Tsirkin ha scritto:
>> Sorry I still don't understand. Why do stuff from vmstate callback then?
>> How is it different?
>
> Reconstructing internal state from post_load is okay.
>
> What is not okay (and I think it should be a rule) is to touch other
> devices from post_load, unless you know that they are deserialized
> first.  For example it's okay for a PCI device to talk to the parent
> bridge in its post_load function.

I don't think it's right to talk to another device even if you do
know it's deserialized first. Talking to it might make it change
its state, which would be wrong (since its correct state is
the state it's just deserialized). I would suggest the rule should
be "never do something that can change the state of another
device in post-load".

(We have similar issues with reset, except worse in that we
don't have a coherent rule to cause everything to come out
of reset in the right state.)

thanks
-- PMM

  reply	other threads:[~2014-09-10  8:51 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-09 12:29 [Qemu-devel] [PATCH 00/10] x86: migrate more data Paolo Bonzini
2014-09-09 12:30 ` [Qemu-devel] [PATCH 01/10] vl: use QLIST_FOREACH_SAFE to visit change state handlers Paolo Bonzini
2014-09-09 13:09   ` Juan Quintela
2014-09-09 12:30 ` [Qemu-devel] [PATCH 02/10] apic_common: vapic_paddr synchronization fix Paolo Bonzini
2014-09-09 13:10   ` Juan Quintela
2014-09-09 14:00   ` Michael S. Tsirkin
2014-09-09 14:26     ` Paolo Bonzini
2014-09-10  6:55   ` Pavel Dovgaluk
2014-09-09 12:30 ` [Qemu-devel] [PATCH 03/10] cpu: init vmstate for ticks and clock offset Paolo Bonzini
2014-09-09 13:25   ` Juan Quintela
2014-09-09 13:26     ` Paolo Bonzini
2014-09-09 12:30 ` [Qemu-devel] [PATCH 04/10] pcspk: adding vmstate for save/restore Paolo Bonzini
2014-09-09 13:26   ` Juan Quintela
2014-09-09 13:28     ` Paolo Bonzini
2014-09-10 12:02       ` Michael S. Tsirkin
2014-09-10 10:59         ` Paolo Bonzini
2014-09-10 12:20           ` Michael S. Tsirkin
2014-09-10 11:24             ` Paolo Bonzini
2014-09-09 12:30 ` [Qemu-devel] [PATCH 05/10] fdc: " Paolo Bonzini
2014-09-09 13:29   ` Juan Quintela
2014-09-09 12:30 ` [Qemu-devel] [PATCH 06/10] parallel: " Paolo Bonzini
2014-09-09 13:32   ` Juan Quintela
2014-09-09 13:40     ` Paolo Bonzini
2014-09-10 12:09       ` Michael S. Tsirkin
2014-09-10 11:16         ` Paolo Bonzini
2014-09-09 12:30 ` [Qemu-devel] [PATCH 07/10] serial: fixing " Paolo Bonzini
2014-09-09 13:59   ` Juan Quintela
2014-09-09 16:24     ` Paolo Bonzini
2014-09-10 11:24       ` Pavel Dovgaluk
2014-09-10 10:41   ` Paolo Bonzini
2014-09-09 12:30 ` [Qemu-devel] [PATCH 08/10] pckbd: adding new fields to vmstate Paolo Bonzini
2014-09-09 13:07   ` Juan Quintela
2014-09-10 10:14     ` Paolo Bonzini
2014-09-09 12:30 ` [Qemu-devel] [PATCH 09/10] piix: do not raise irq while loading vmstate Paolo Bonzini
2014-09-09 13:37   ` Juan Quintela
2014-09-09 13:54   ` Michael S. Tsirkin
2014-09-09 17:16     ` Paolo Bonzini
2014-09-09 20:51       ` Michael S. Tsirkin
2014-09-10  8:38         ` Paolo Bonzini
2014-09-10  8:51           ` Peter Maydell [this message]
2014-09-10  9:05             ` Paolo Bonzini
2014-09-10 10:20               ` Michael S. Tsirkin
2014-09-10 10:50           ` Michael S. Tsirkin
2014-09-10  9:58             ` Paolo Bonzini
2014-09-10 11:04               ` Michael S. Tsirkin
2014-09-10 10:07                 ` Paolo Bonzini
2014-09-10 11:26                   ` Michael S. Tsirkin
2014-09-09 12:30 ` [Qemu-devel] [PATCH 10/10] mc146818rtc: add missed field to vmstate Paolo Bonzini
2014-09-09 12:58   ` Juan Quintela
2014-09-10 10:50 ` [Qemu-devel] [PATCH 00/10] x86: migrate more data Paolo Bonzini
2014-09-10 11:56   ` Michael S. Tsirkin
2014-09-10 10:58     ` Paolo Bonzini

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='CAFEAcA-7bw-xmbsUAor4eDQqEJxak9PV=R-LVwR5WH+T+72GhA@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=Pavel.Dovgaluk@ispras.ru \
    --cc=amit.shah@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.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.