|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|