Date: Fri, 17 Oct 2014 15:24:39 +0000 From: Ashutosh Kumar <mrashutosh@hotmail.com> To: "freebsd-virtualization@freebsd.org" <freebsd-virtualization@freebsd.org> Subject: RE: io-apic interrupt migration on bhyve Message-ID: <SNT150-W7159835C18B15B9E9A6B86DFA80@phx.gbl> In-Reply-To: <SNT150-W7ABD0AAB97FA85DFF5464DFA80@phx.gbl> References: <SNT150-W7ABD0AAB97FA85DFF5464DFA80@phx.gbl>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi=2C On more analysis I found that there is a race condition in Guest OS such th= at before complete initialization happens for APs the interrupt migration t= akes place and hence incorrect cpu is written to io-apic's rte for that par= ticular pin. The debug prints either in Guest OS or vmm just kills this rac= e condition. Thanks. =20 RegardsAshutosh > From: mrashutosh@hotmail.com > To: freebsd-virtualization@freebsd.org > Subject: io-apic interrupt migration on bhyve > Date: Fri=2C 17 Oct 2014 13:24:34 +0000 >=20 > =20 >=20 > Hi=2C >=20 > =20 >=20 > I am witnessing some strange behavior w.r.t io-apic > interrupt migration on bhyve. >=20 > I have below assignment for a level triggered > interrupt: >=20 > =20 >=20 > io-apic pin - p >=20 > cpu vector - v >=20 > cpu id - 0 >=20 > =20 >=20 > when this interrupt is migrated to cpu 1 then > the assignment is as below >=20 > =20 >=20 > io-apic pin - p >=20 > cpu vector - v1 >=20 > cpu id - 1 >=20 > =20 >=20 > When VM boots up then OS is getting interrupts for=20 >=20 > =20 >=20 > io-apic pin - p >=20 > cpu vector - v1 >=20 > cpu id - 0 >=20 > =20 >=20 > Added debug prints in vioapic_write function > to check the values written to io-apic rte for this pin and then VM gets > correct interrupts i.e (vector v=2C cpu 0 ) before the interrupts are mig= rated and > (vector v1=2C cpu 1) after the migration When prints are removed then the > problem happens and we see interrupts for (vector v1 and cpu 0). > RegardsAshutosh =20 > _______________________________________________ > freebsd-virtualization@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization > To unsubscribe=2C send any mail to "freebsd-virtualization-unsubscribe@fr= eebsd.org" =
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SNT150-W7159835C18B15B9E9A6B86DFA80>