[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: Filter out MSR write events
On Mon, Apr 11, 2016 at 07:41:54PM +0300, Razvan Cojocaru wrote: > This patch only allows introspection-related MSR write events to > be sent out, improving performance. Should additional events be > required, they can then simply be added to the list of > vmx_introspection_force_enabled_msrs[]. > > Signed-off-by: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Thought should there be some .. dynamic mechanism to update the MSR list? Or remove entries (or temporarily blacklist the built-one ins), etc? > --- > xen/arch/x86/hvm/hvm.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c > index f24126d..21ba611 100644 > --- a/xen/arch/x86/hvm/hvm.c > +++ b/xen/arch/x86/hvm/hvm.c > @@ -3688,6 +3688,17 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t > *msr_content) > goto out; > } > > +static bool_t is_introspection_msr(unsigned int msr) > +{ > + unsigned int i; > + > + for ( i = 0; i < vmx_introspection_force_enabled_msrs_size; i++ ) > + if ( msr == vmx_introspection_force_enabled_msrs[i] ) > + return 1; > + > + return 0; > +} > + > int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content, > bool_t may_defer) > { > @@ -3703,7 +3714,8 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t > msr_content, > hvm_cpuid(1, NULL, NULL, NULL, &edx); > mtrr = !!(edx & cpufeat_mask(X86_FEATURE_MTRR)); > > - if ( may_defer && unlikely(currad->monitor.mov_to_msr_enabled) ) > + if ( may_defer && unlikely(currad->monitor.mov_to_msr_enabled) && > + is_introspection_msr(msr) ) > { > ASSERT(v->arch.vm_event); > > -- > 2.8.0 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |