[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XenPPC] [PATCH] Enable SMP and IPIs
On Tue, 2006-10-24 at 00:22 -0400, Amos Waterland wrote: > This patch enables SMP and IPIs. It works reliably on JS20 and JS21 > blades. It is not quite ready for submission, but I would greatly > appreciate any comments. > > Note that the flurry of IPIs generated by domain creation seems to be a > waste of time. Xen on x86 doesn't actually to do anything in response > to them, so I have made Xen on PPC properly deliver the event check but > then do nothing as well. Comments? > > The important thing this patch is missing is the ability to invoke > functions on a remote CPU, and I have left it out because I am not yet > happy with the convention, which is to grab a lock, put the target > address in a single global shared variable, invoke a memory barrier, and > send the IPI. I am hoping to avoid a lock around that operation by > making a per-IPI-destination-CPU structure with lock, address, and ack > fields. Comments? > The strategy I decided upon to use in rhype was to maintain an array of function "records" (fn ptr + arg data), and a bit-map per-cpu identifying which ones were active. If I want to run something on another CPU, I find and fill in and empty function record for the target CPU and then set the bit in the bitmap. The receiver CPU checks to see if there is work to be done and if so, runs the specified function. This mechanism makes the caller responsible for providing for managing return values/ACKs. I hope to use this to drive RCU activity as well, so it is not tied down to an actual IPI vector occurring. In fact, I have not yet has a need to actually depend on an IPI from the mpic. -- Michal Ostrowski <mostrows@xxxxxxxxxxxxxx> _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |