[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH V3 07/12] xen: Remove mem_event
>>> On 29.01.15 at 22:46, <tamas.lengyel@xxxxxxxxxxxx> wrote: > --- a/xen/include/public/domctl.h > +++ b/xen/include/public/domctl.h > @@ -750,15 +750,15 @@ struct xen_domctl_gdbsx_domstatus { > }; > > /* > - * Memory event operations > + * VM event operations > */ > > -/* XEN_DOMCTL_mem_event_op */ > +/* XEN_DOMCTL_vm_event_op */ > > /* > * Domain memory paging > * Page memory in and out. > - * Domctl interface to set up and tear down the > + * Domctl interface to set up and tear down the > * pager<->hypervisor interface. Use XENMEM_paging_op* > * to perform per-page operations. > * > @@ -769,10 +769,10 @@ struct xen_domctl_gdbsx_domstatus { > * EXDEV - guest has PoD enabled > * EBUSY - guest has or had paging enabled, ring buffer still active > */ > -#define XEN_DOMCTL_MEM_EVENT_OP_PAGING 1 > +#define XEN_DOMCTL_VM_EVENT_OP_PAGING 1 > > -#define XEN_DOMCTL_MEM_EVENT_OP_PAGING_ENABLE 0 > -#define XEN_DOMCTL_MEM_EVENT_OP_PAGING_DISABLE 1 > +#define XEN_DOMCTL_VM_EVENT_OP_PAGING_ENABLE 0 > +#define XEN_DOMCTL_VM_EVENT_OP_PAGING_DISABLE 1 > > /* > * Monitor helper. > @@ -799,84 +799,6 @@ struct xen_domctl_gdbsx_domstatus { > * EBUSY - guest has or had access enabled, ring buffer still active > * > */ > -#define XEN_DOMCTL_MEM_EVENT_OP_MONITOR 2 > - > -#define XEN_DOMCTL_MEM_EVENT_OP_MONITOR_ENABLE 0 > -#define XEN_DOMCTL_MEM_EVENT_OP_MONITOR_DISABLE 1 > -#define XEN_DOMCTL_MEM_EVENT_OP_MONITOR_ENABLE_INTROSPECTION 2 > - > -/* > - * Sharing ENOMEM helper. > - * > - * As with paging, use the domctl for teardown/setup of the > - * helper<->hypervisor interface. > - * > - * If setup, this ring is used to communicate failed allocations > - * in the unshare path. XENMEM_sharing_op_resume is used to wake up > - * vcpus that could not unshare. > - * > - * Note that shring can be turned on (as per the domctl below) > - * *without* this ring being setup. > - */ > -#define XEN_DOMCTL_MEM_EVENT_OP_SHARING 3 > - > -#define XEN_DOMCTL_MEM_EVENT_OP_SHARING_ENABLE 0 > -#define XEN_DOMCTL_MEM_EVENT_OP_SHARING_DISABLE 1 > - > -/* Use for teardown/setup of helper<->hypervisor interface for paging, > - * access and sharing.*/ > -struct xen_domctl_mem_event_op { > - uint32_t op; /* XEN_DOMCTL_MEM_EVENT_OP_*_* */ > - uint32_t mode; /* XEN_DOMCTL_MEM_EVENT_OP_* */ > - > - uint32_t port; /* OUT: event channel for ring */ > -}; > -typedef struct xen_domctl_mem_event_op xen_domctl_mem_event_op_t; > -DEFINE_XEN_GUEST_HANDLE(xen_domctl_mem_event_op_t); > - > -/* > - * VM event operations > - */ > - > -/* XEN_DOMCTL_vm_event_op */ > - > -/* > - * Domain memory paging > - * Page memory in and out. > - * Domctl interface to set up and tear down the > - * pager<->hypervisor interface. Use XENMEM_paging_op* > - * to perform per-page operations. > - * > - * The XEN_DOMCTL_MEM_EVENT_OP_PAGING_ENABLE domctl returns several > - * non-standard error codes to indicate why paging could not be enabled: > - * ENODEV - host lacks HAP support (EPT/NPT) or HAP is disabled in guest > - * EMLINK - guest has iommu passthrough enabled > - * EXDEV - guest has PoD enabled > - * EBUSY - guest has or had paging enabled, ring buffer still active > - */ > -#define XEN_DOMCTL_VM_EVENT_OP_PAGING 1 > - > -#define XEN_DOMCTL_VM_EVENT_OP_PAGING_ENABLE 0 > -#define XEN_DOMCTL_VM_EVENT_OP_PAGING_DISABLE 1 > - > -/* > - * Monitor permissions. > - * > - * As with paging, use the domctl for teardown/setup of the > - * helper<->hypervisor interface. > - * > - * There are HVM hypercalls to set the per-page access permissions of every > - * page in a domain. When one of these permissions--independent, read, > - * write, and execute--is violated, the VCPU is paused and a memory event > - * is sent with what happened. (See public/vm_event.h) . > - * > - * The memory event handler can then resume the VCPU and redo the access > - * with a XENMEM_access_op_resume hypercall. > - * > - * The XEN_DOMCTL_VM_EVENT_OP_MONITOR_ENABLE domctl returns several > - * non-standard error codes to indicate why access could not be enabled: > - * EBUSY - guest has or had access enabled, ring buffer still active > - */ > #define XEN_DOMCTL_VM_EVENT_OP_MONITOR 2 > > #define XEN_DOMCTL_VM_EVENT_OP_MONITOR_ENABLE 0 Did you look at the resulting patch to see what happened? It didn't remove the mem_event stuff, but adjusted it enough to become the vm_event one while removing the previously added vm_event part again. Another argument against this approach imo. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |