On 15/03/2016 19:27, Andy Lutomirski wrote: > On Mon, Mar 14, 2016 at 6:17 AM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: >> >> >> On 11/03/2016 22:33, David Matlack wrote: >>>> Is this better than just always keeping the host's XCR0 loaded outside >>>> if the KVM interrupts-disabled region? >>> >>> Probably not. AFAICT KVM does not rely on it being loaded outside that >>> region. xsetbv isn't insanely expensive, is it? Maybe to minimize the >>> time spent with interrupts disabled it was put outside. >>> >>> I do like that your solution would be contained to KVM. >> >> I agree with Andy. We do want a fix for recent kernels because of the >> !eager_fpu case that Guangrong mentioned. >> >> Paolo >> >> ps: while Andy is planning to kill lazy FPU, I want to benchmark it with >> KVM... Remember that with a single pre-xsave host in your cluster, your >> virt management might happily default your VMs to a Westmere or Nehalem >> CPU model. GCC might be a pretty good testbench for this (e.g. a kernel >> compile with very high make -j), because outside of the lexer (which >> plays SIMD games) it never uses the FPU. > > Aren't pre-xsave CPUs really, really old? A brief search suggests > that Intel Core added it somewhere in the middle of the cycle. I am fairly sure it was added in Sandy Bridge, together with AVX. But what really matters for eager FPU is not xsave, it's xsaveopt, and I think AMD has never even produced a microprocessor that supports it. > For pre-xsave, it could indeed hurt performance a tiny bit under > workloads that use the FPU and then stop completely because the > xsaveopt and init optimizations aren't available. But even that is > probably a very small effect, especially because pre-xsave CPUs have > smaller FPU state sizes. It's still a few cache lines. Benchmarks will tell. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html