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

RE: [Xen-devel] [Patch 2 of 2]: PV-domain SMP performance Linux-part



> 
> Venefax wrote:
> > I can test it a real-world situation.
> > I have SUSE 10-SP2 and have terrible performance issues with fully
> > virtualized SMP machines. I had to start using Standard PC as HAL to
> avoid
> > the penalty.
> > Federico
> 
> Federico, thanks for your support. But my patches are for PV-domains
(or
> at
> least for domains with PV-drivers) only. I think you are using Windows
as
> guest, so you would have to build a XEN-aware HAL...
> 
> If you are testing with PV-domains, too, you are welcome, of course!
> 

Juergen,

Do you think your changes could be applicable to HVM domains with
appropriately patched kernel spinlock routines?

I had previously wondered about optimizing spinlocks, my idea was
basically for Xen to set a bit in a structure to indicate what vcpus are
currently scheduled, and my modified spinlock acquire routine would
check if the current vcpu wants a spinlock that is held by a currently
unscheduled vcpu, and if so yield to Xen to let the other vcpu schedule.

The only thing I would need from Xen is to know which vcpus were
currently scheduled, the rest would be DomU based.

Does that approximate what you do? I'll re-read your patch, I seem to
remember something about borrowing time from Xen to keep the vcpu a
little longer if a spinlock was held, so maybe you are taking a
proactive approach to my reactive approach?

The likelihood of this actually doing anything useful assumes that:
. Windows always uses the KeAcquireXxx and KeReleaseXxx calls and there
is no inlined spinlock access in the kernel (which would bypass my
hooks)
. That when Windows spins, it doesn't yield already
. That Xen actually deschedules a vcpu with a spinlock held often enough
for this to matter

Kernel patching only works on 32 bits though, so I'm not sure I'll
bother.

James 


_______________________________________________
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®.