[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |