From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH 3/3] apic: always update the in-kernel status after loading Date: Fri, 02 Nov 2012 15:59:11 +0100 Message-ID: <5093DFBF.9010900@siemens.com> References: <1351599394-24876-1-git-send-email-pbonzini@redhat.com> <1351599394-24876-4-git-send-email-pbonzini@redhat.com> <508FCA33.5030309@redhat.com> <508FE140.2000302@redhat.com> <50901AAE.4010802@web.de> <5093DE70.6030007@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Avi Kivity , qemu-devel@nongnu.org, mtosatti@redhat.com, kvm@vger.kernel.org To: Paolo Bonzini Return-path: Received: from thoth.sbs.de ([192.35.17.2]:28709 "EHLO thoth.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751933Ab2KBO7S (ORCPT ); Fri, 2 Nov 2012 10:59:18 -0400 In-Reply-To: <5093DE70.6030007@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 2012-11-02 15:53, Paolo Bonzini wrote: > Il 30/10/2012 19:21, Jan Kiszka ha scritto: >>>> Aren't we still dependent on the order of processing? If the APIC is >>>> restored after the device, won't we get the same problem? >>> >>> Strictly speaking yes, but CPUs and APICs are always the first devices >>> to be saved. >> Hmm, thinking about this again: Why is the MSI event injected at all >> during restore, specifically while the device models are in transitional >> state. Can you explain this? > > Because the (virtio-serial) port was connected on the source and > disconnected on the destination, or vice versa. > > In my simplified reproducer, I'm really using different command-lines on > the source and destination, but it is not necessary. For example, if > you have a socket backend, the destination will usually be disconnected > at the time the machine loads. > > One alternative fix is a vm_clock timer that expires immediately. It > would fix both MSI and INTx, on the other hand I thought it was an APIC > bug because the QEMU APIC works nicely. I think deferring IRQ events to the point when the complete vmstate is loaded is the cleaner and more robust approach. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux