[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Question about hyper-threading of domains
On 4/29/05, Jacob Gorm Hansen <jacobg@xxxxxxx> wrote: > hi, > > is it possible, and will it make sense, to allow an SMP-domain access to > both SMT/Hyper threads of a CPU? > > My performance measurements of the small address spaces implementation > (SAS) seem to indicate that having the driver domain in a separate hyper > thread is still a little faster than SAS for a non-SMP/SMT domU. I > guess that means that that SMT IPIs are about the same cost as ring > switches. Seans fair enough - Out of curiosity have you published these measurements anywere ? > > So quite likely SAS is only interesting if: > > 1) You don't have SMT (luckily, I have a bunch of machines like that > back home ;-)). Do the recent Opterons and Itaniums have SMT btw? No neither the latest Opterons nor the Itaniums have explicit SMT. > > 2) You want to run SMT in the domUs. > > 3) You give up driver isolation and manage to get dom0 running in ring0 > (to remove the cost of ring switches). Some comments in the Xen code > indicate that this will be hard to do, so it may not be worth it. > > I previously stated that using small address spaces means giving up > driver isolation, but I think that with the right use of segments that > should not be necessary, so there is no trade-off with regards to isolation. Could you explain a little further how excalty you plan to avoid this - I have been digging into this myslef and It is not obvious to me how this can be achived, > > My patch to Xen and XenLinux is fairly small, though a few things > (mainly the PERDOMAIN mapping and thus use of segments in domains) are > not handled correctly at this point. Also, I do not use segments to keep > domUs out of dom0, which I will at some point. > > Basically, I have added per-domain pgd lower and upper bounds, and I > have added an extra pgd slot for the linear page tables of dom0. The > linear_* macros now take an exec_domain* as argument, and I have a > pgd-version check in __context-switch() that potentially updates the > cached entries at the top of the domUs pgd, and does nothing (i.e. does > not write cr3) otherwise. If needed, I flush the TLB before > pdg-updates, and when unpinning a pgd I clear the cached area before > put_page() and friends. > > Most of the changes are of a nature that could be made applicable to > other architectures as well. I think they could be activated at run-time > with little or no overhead when not in use. > > I would be happy to share my changes with anyone interested. Yes please - I have the time (and hardware) to check this. Regards. Lars Roland _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |