From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33864) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QyUDV-0005Ip-8W for qemu-devel@nongnu.org; Tue, 30 Aug 2011 15:43:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QyUDT-0003P7-VR for qemu-devel@nongnu.org; Tue, 30 Aug 2011 15:43:25 -0400 Received: from mail-qw0-f45.google.com ([209.85.216.45]:46137) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QyUDT-0003Oy-TC for qemu-devel@nongnu.org; Tue, 30 Aug 2011 15:43:23 -0400 Received: by qwj8 with SMTP id 8so4710361qwj.4 for ; Tue, 30 Aug 2011 12:43:23 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <4E5D39C8.5020205@web.de> References: <4E58FC3F.6080809@web.de> <4E5BE7C5.60705@us.ibm.com> <4E5BFF51.9010503@web.de> <4E5C00F0.9070103@redhat.com> <4E5D39C8.5020205@web.de> From: Blue Swirl Date: Tue, 30 Aug 2011 19:43:03 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] pc: Clean up PIC-to-APIC IRQ path List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Lucas Meneghel Rodrigues , Anthony Liguori , Marcelo Tosatti , qemu-devel , Avi Kivity , Gerd Hoffmann On Tue, Aug 30, 2011 at 7:28 PM, Jan Kiszka wrote: > On 2011-08-30 21:19, Blue Swirl wrote: >> On Mon, Aug 29, 2011 at 9:13 PM, Avi Kivity wrote: >>> On 08/30/2011 12:06 AM, Jan Kiszka wrote: >>>> >>>>> >>>>> =C2=A0Does this need to be save/restored for migration? >>>> >>>> Nope, but we need some other measure. I thought to remember the pic wa= s >>>> refreshing this after load, but I do not find any traces of this now. = We >>>> likely need a post_load handler in the i8259 that re-asserts the IRQ a= s >>>> required. >>>> >>> >>> We need some kind of two phase restore. In the first phase all state is >>> restored; since some of that state drivers outputs that are input to ot= her >>> devices, they may experience an edge, and we need to supress that. =C2= =A0In the >>> second phase edge detection is unsupressed and the device goes live. >> >> No. Devices may not perform any externally visible activities (like >> toggle a qemu_irq) during or after load because 1) qemu_irq is >> stateless and 2) since the receiving end is also freshly loaded, both >> states are already in synch without any calls or toggling. > > Yes, that's the current state. Once we have bidirectional IRQ links in > place (pushing downward, querying upward - required to skip IRQ routers > for fast, lockless deliveries), that should change again. I don't think it should change. If stateful or dynamically routing IRQs were implemented, then those IRQs should also save and restore their state, so again the devices would not need to do anything. > For now, that's what I realized in the meantime as well, we can't help > saving pic_level in the APIC state. > > What is the state of substates in pre-1.0? Do we try to use those again > in favor of simple field additions under a new state version? > > Jan > >