Skip site navigation (1)Skip section navigation (2)
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>