[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] Does dom0 see all physical processors? (RE:[Xen-ia64-devel] SAL INFO virtualization)



Hi,

On Wed, 2006-04-05 at 07:07 -0700, Magenheimer, Dan (HP Labs Fort
Collins) wrote:

> I believe ppc has "paravirtualized spinlocks" in their Linux
> kernel

ppc64 does.  From include/asm-ppc64/spinlock.h:

/*
 * On a system with shared processors (that is, where a physical
 * processor is multiplexed between several virtual processors),
 * there is no point spinning on a lock if the holder of the lock
 * isn't currently scheduled on a physical processor.  Instead
 * we detect this situation and ask the hypervisor to give the
 * rest of our timeslice to the lock holder.
 *
 * So that we can tell which virtual processor is holding a lock,
 * we put 0x80000000 | smp_processor_id() in the lock when it is
 * held.  Conveniently, we have a word in the paca that holds this
 * value.
 */

A quick hack for this which simply did a yield sched_op when it detected
a collision could be done in the same way from a paravirtualised kernel
without any HV changes; but I think it would take extra scheduler help
to do a directed yield to a specific CPU.

--Stephen



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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