[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0 of 8] FPU LWP: patch description
>>> On 07.05.11 at 07:39, "Huang2, Wei" <Wei.Huang2@xxxxxxx> wrote: > This patch set supports AMD lightweight profiling for SVM guests. Because LWP > isn't tracked by CR0.TS bit, we clean up the FPU code to handle lazy and > unlazy FPU states differently. Lazy FPU state (such as SSE, YMM) is handled > when #NM is triggered. Unlazy state, such as LWP, is saved and restored on > each vcpu context switch. > > Per Keir's comments, I moved extended state related code into xstate.c and > xstate.h. The FPU related code in i387.c was also cleaned up and has > consistent names now. The comments from Jan Beulich were also taken. I added > a new variable, nonlazy_xstate_used, to control whether save/restore nonlazy > state. > > ====== i387.c ====== > * void vcpu_restore_fpu_eager(struct vcpu *v); > * void vcpu_restore_fpu_lazy(struct vcpu *v); > * void vcpu_save_fpu(struct vcpu *v); > * int vcpu_init_fpu(struct vcpu *v); > * void vcpu_destroy_fpu(struct vcpu *v); > > ====== xstate.c ====== > * void set_xcr0(u64 xfeatures); > * uint64_t get_xcr0(void); > * void xsave(struct vcpu *v, uint64_t mask); > * void xrstor(struct vcpu *v, uint64_t mask); > * bool_t xsave_enabled(const struct vcpu *v); > * void xstate_free_save_area(struct vcpu *v); > * int xstate_alloc_save_area(struct vcpu *v); > * void xstate_init(void); > > > This code has been tested on real hardware. Please comment. Thanks, Wei - this looks good now to me. Jan > > -Wei > > > b/xen/arch/x86/xstate.c | 188 +++++++++++++++ > b/xen/include/asm-x86/xstate.h | 72 +++++ > tools/libxc/xc_cpuid_x86.c | 6 > xen/arch/x86/Makefile | 1 > xen/arch/x86/acpi/suspend.c | 2 > xen/arch/x86/cpu/common.c | 4 > xen/arch/x86/domain.c | 29 -- > xen/arch/x86/domctl.c | 2 > xen/arch/x86/hvm/hvm.c | 3 > xen/arch/x86/hvm/svm/svm.c | 75 ++++++ > xen/arch/x86/hvm/svm/vmcb.c | 5 > xen/arch/x86/hvm/vmx/vmcs.c | 1 > xen/arch/x86/hvm/vmx/vmx.c | 2 > xen/arch/x86/i387.c | 450 > ++++++++++++++++--------------------- > xen/arch/x86/traps.c | 3 > xen/include/asm-x86/cpufeature.h | 2 > xen/include/asm-x86/domain.h | 5 > xen/include/asm-x86/hvm/svm/vmcb.h | 3 > xen/include/asm-x86/i387.h | 71 ----- > xen/include/asm-x86/msr-index.h | 4 > 20 files changed, 573 insertions(+), 355 deletions(-) > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |