From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 3/3] apic: always update the in-kernel status after loading Date: Fri, 02 Nov 2012 15:53:36 +0100 Message-ID: <5093DE70.6030007@redhat.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> 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: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:4126 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750746Ab2KBOxk (ORCPT ); Fri, 2 Nov 2012 10:53:40 -0400 In-Reply-To: <50901AAE.4010802@web.de> Sender: kvm-owner@vger.kernel.org List-ID: 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. > Does the same pattern then also apply on INTx injection? Yes. Paolo