[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 5/8] tmem: Move TMEM_CONTROL subop of tmem hypercall to sysctl.
> >>> +struct xen_sysctl_tmem_op { > >>> + uint32_t cmd; /* IN: XEN_SYSCTL_TMEM_OP_* . */ > >>> + int32_t pool_id; /* IN: 0 by default unless _SAVE_*, RESTORE_* .*/ > >>> + uint32_t cli_id; /* IN: client id, 0 for > >>> XEN_SYSCTL_TMEM_QUERY_FREEABLE_MB > >>> + for all others can be the domain id or > >>> + XEN_SYSCTL_TMEM_OP_ALL_CLIENTS for all. */ > >>> + uint32_t arg1; /* IN: If not applicable to command use 0. */ > >>> + uint32_t arg2; /* IN: If not applicable to command use 0. */ > >> Please can this interface be fixed as part of the move, even if it is in > >> subsequent patches for clarity. > > I will gladly fix this interface in further patches. By all means! > > What I wish to avoid is 4.6 releasing with the API in this state, as > adjusting valgrind and strace to compensate will be miserable. Right. > > The best solution would be to have this patch and the fixups adjacent in > the series, at which point the valgrind/strace adjustments can start > with the clean API for 4.6 Yes. I shall post this patchset plus extra patches next week. > > >>> + uint64_t oid[3]; /* IN: If not applicable to command use 0. */ > >>> + XEN_GUEST_HANDLE_64(char) buf; /* IN/OUT: Buffer to save and restore > >>> ops. */ > >>> +}; > >>> +typedef struct xen_sysctl_tmem_op xen_sysctl_tmem_op_t; > >>> +DEFINE_XEN_GUEST_HANDLE(xen_sysctl_tmem_op_t); > >>> + > >>> struct xen_sysctl { > >>> uint32_t cmd; > >>> #define XEN_SYSCTL_readconsole 1 > >>> @@ -734,6 +776,7 @@ struct xen_sysctl { > >>> #define XEN_SYSCTL_psr_cmt_op 21 > >>> #define XEN_SYSCTL_pcitopoinfo 22 > >>> #define XEN_SYSCTL_psr_cat_op 23 > >>> +#define XEN_SYSCTL_tmem_op 24 > >>> uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */ > >>> union { > >>> struct xen_sysctl_readconsole readconsole; > >>> @@ -758,6 +801,7 @@ struct xen_sysctl { > >>> struct xen_sysctl_coverage_op coverage_op; > >>> struct xen_sysctl_psr_cmt_op psr_cmt_op; > >>> struct xen_sysctl_psr_cat_op psr_cat_op; > >>> + struct xen_sysctl_tmem_op tmem_op; > >>> uint8_t pad[128]; > >>> } u; > >>> }; > >>> diff --git a/xen/include/public/tmem.h b/xen/include/public/tmem.h > >>> index 4fd2fc6..208f5a6 100644 > >>> --- a/xen/include/public/tmem.h > >>> +++ b/xen/include/public/tmem.h > >>> @@ -33,7 +33,7 @@ > >>> #define TMEM_SPEC_VERSION 1 > >>> > >>> /* Commands to HYPERVISOR_tmem_op() */ > >>> -#define TMEM_CONTROL 0 > >>> +#define TMEM_CONTROL_MOVED 0 > >> If anything, this should be deleted as opposed to being renamed. The > >> _MOVED suffix is confusing, as TMEM_CONTROL_MOVED sounds like it could > >> be a plausible TMEM operation. > > Ah, will do what Jan asked and just put a big comment. And keep the old > > name (or maybe add 'DEPRECATED'?) > > If you are going to the effort of renaming, then just delete. Either > way will break the build of unsuspecting code, and the latter leaves us > with less junk. It will break the tmem hypervisor code as it has a check for TMEM_CONTROL (which per Jan suggestion should return -E.. something). > > A comment however will be useful in all cases. Aye. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |