|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] SMP-g design notes,
Tristan Gingold <=
|
|
|
|
|