[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] SMP-g design notes
[Comments are welcome] SMP-guest (SMP-g) current design. Because it is design time, here are some note about my SMP-g work. The current patch is very small. I tried only to bring-up SMP-g ASAP to catch more SMP bugs. Also I tried to miminize Linux kernel changes. The only Linux kernel change is the way IPI are sent. When running_on_xen, the write into LSAPIC is replaced by a physdev_op hypercall. The xen changes are: * LID is virtualized. In fact this was achieved with my vIOSAPIC patch. I am planning to modify this so that SMP-g can be done without vIOSAPIC. The virtualized LID is ID=EID=vcpu_id. * ACPI LSAPIC entries are enabled for dom0 and added for domU. For dom0, I have added a dom0_maxcpu= command line parameter to set the maximum number of dom0 vcpu. * SAL_VECTOR_OS_BOOT_RENDEZ added to set iip and r1 of non-running vcpu. * SAL wakeup descriptor added. * physdev_op added to accept and deliver IPI as an interrupt. It also handle vcpu start-up. * ITC_DRIFT feature added to SAL descriptors. This avoids clock synchronizations which can't be currently done since itc is not virtualized. * Since VHPT is currently per cpu, there is no general SMP problems. * SAL_CACHE_FLUSH is still a no-op. Again, we should think about it. From what I read, it is called only inside the kernel to calibrate process migration. Currently it shouldn't hurt if we don't handle it. * ptc.ga is a real problem: currently an IPI is sent in Xen to purge the VHPT. Performance may be very bad. We should think about this. _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |