Date: Sat, 30 May 2009 08:53:13 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/xen/evtchn evtchn.c Message-ID: <200905300853.n4U8rOBQ007333@repoman.freebsd.org>
index | next in thread | raw e-mail
adrian 2009-05-30 08:53:13 UTC
FreeBSD src repository
Modified files:
sys/xen/evtchn evtchn.c
Log:
SVN rev 193085 on 2009-05-30 08:53:13Z by adrian
Make ipi_cpu() function as intended.
IPI's in Xen are implemented through hypervisor event channels.
The MP code creates a pair of IRQs for each base IPI per CPU
(one for IPI function dispatch calls, one for IPI bitmap dispatch calls.)
Using PCPU_GET() was returning the IRQ of the IPI handler for the
current CPU; thus calls to ipi_cpu() were sending itself a message.
Instead, looking up the IPI in the target CPU ipi-to-irq map is needed.
Note: This doesn't fix Xen SMP (far from it!) but it at least
sends IPI's to the right places. Next - sending IPIs..
PR: 135069
Revision Changes Path
1.10 +4 -1 src/sys/xen/evtchn/evtchn.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905300853.n4U8rOBQ007333>
