[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.