>
>
> >> diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
> >> index 5635603..22819c5 100644
> >> --- a/xen/arch/x86/vm_event.c
> >> +++ b/xen/arch/x86/vm_event.c
> >> @@ -20,6 +20,7 @@
> >>
> >>  #include <xen/sched.h>
> >>  #include <asm/hvm/hvm.h>
> >> +#include <asm/monitor.h>
> >>  #include <asm/vm_event.h>
> >>
> >>  /* Implicitly serialized by the domctl lock. */
> >> @@ -27,6 +28,11 @@ int vm_event_init_domain(struct domain *d)
> >>  {
> >>      struct vcpu *v;
> >>
> >> +    d->arch.monitor_msr_bitmap = xzalloc(struct monitor_msr_bitmap);
> >> +
> >> +    if ( !d->arch.monitor_msr_bitmap )
> >> +        return -ENOMEM;
> >
> > Shouldn't we in principle have a monitor_domain_init() function for
> > this, or are monitor and vm_event too intertwined in practice?
>
> I think they are (it doesn't really make sense to try to monitor MSR
> writes without initializing the vm_event subsystem). Maybe Tamas has
> different ideas?
>

There is certainly dependency between the two, but it's entirely possible
to use vm_event without the monitor subsystem (like for mem_paging and
mem_sharing). So +1 for making a monitor_domain_init that get's called only
when enabling the MONITOR ring (XEN_DOMCTL_VM_EVENT_OP_MONITOR).

Tamas
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to