From owner-freebsd-virtualization@FreeBSD.ORG Fri Oct 17 13:25:42 2014 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AB52056B for ; Fri, 17 Oct 2014 13:25:42 +0000 (UTC) Received: from SNT004-OMC4S18.hotmail.com (snt004-omc4s18.hotmail.com [65.55.90.221]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "*.outlook.com", Issuer "MSIT Machine Auth CA 2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 83AF47DF for ; Fri, 17 Oct 2014 13:25:42 +0000 (UTC) Received: from SNT150-W7 ([65.55.90.201]) by SNT004-OMC4S18.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Fri, 17 Oct 2014 06:24:34 -0700 X-TMN: [FOj7NSJuQ2m4u+6vzgUndjf6oouELvas] X-Originating-Email: [mrashutosh@hotmail.com] Message-ID: From: Ashutosh Kumar To: "freebsd-virtualization@freebsd.org" Subject: io-apic interrupt migration on bhyve Date: Fri, 17 Oct 2014 13:24:34 +0000 Importance: Normal MIME-Version: 1.0 X-OriginalArrivalTime: 17 Oct 2014 13:24:34.0603 (UTC) FILETIME=[B13C57B0:01CFEA0D] Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Oct 2014 13:25:42 -0000 =0A= =0A= Hi=2C=0A= =0A= =0A= =0A= I am witnessing some strange behavior w.r.t io-apic=0A= interrupt migration on bhyve.=0A= =0A= I have below assignment for a level triggered=0A= interrupt:=0A= =0A= =0A= =0A= io-apic pin - p=0A= =0A= cpu vector - v=0A= =0A= cpu id - 0=0A= =0A= =0A= =0A= when this interrupt is migrated to cpu 1 then=0A= the assignment is as below=0A= =0A= =0A= =0A= io-apic pin - p=0A= =0A= cpu vector - v1=0A= =0A= cpu id - 1=0A= =0A= =0A= =0A= When VM boots up then OS is getting interrupts for =0A= =0A= =0A= =0A= io-apic pin - p=0A= =0A= cpu vector - v1=0A= =0A= cpu id - 0=0A= =0A= =0A= =0A= Added debug prints in vioapic_write function=0A= to check the values written to io-apic rte for this pin and then VM gets=0A= correct interrupts i.e (vector v=2C cpu 0 ) before the interrupts are migra= ted and=0A= (vector v1=2C cpu 1) after the migration When prints are removed then the= =0A= problem happens and we see interrupts for (vector v1 and cpu 0). RegardsAshutosh =