All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, wei.liu2@citrix.com, jbeulich@suse.com
Subject: Re: [PATCH v2 5/8] tmem: Move TMEM_CONTROL subop of tmem hypercall to sysctl.
Date: Thu, 27 Aug 2015 15:20:21 -0400	[thread overview]
Message-ID: <20150827192021.GK5982@konrad-lan.dumpdata.com> (raw)
In-Reply-To: <55DF5DDB.5000909@citrix.com>

> >>> +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.

  reply	other threads:[~2015-08-27 19:20 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-27 11:01 [PATCH v2] Tmem bug-fixes and cleanups Konrad Rzeszutek Wilk
2015-08-27 11:01 ` [PATCH v2 1/8] tmem: Don't crash/hang/leak hypervisor when using shared pools within an guest Konrad Rzeszutek Wilk
2015-08-27 11:21   ` Wei Liu
2015-08-27 11:01 ` [PATCH v2 2/8] tmem: Add ASSERT in obj_rb_insert for pool->rwlock lock Konrad Rzeszutek Wilk
2015-08-27 14:55   ` Jan Beulich
2015-08-27 11:01 ` [PATCH v2 3/8] tmem: remove in xc_tmem_control_oid duplicate set_xen_guest_handle call Konrad Rzeszutek Wilk
2015-08-27 11:01 ` [PATCH v2 4/8] tmem: Remove xc_tmem_control mystical arg3 Konrad Rzeszutek Wilk
2015-08-27 11:15   ` Wei Liu
2015-08-27 12:53   ` Andrew Cooper
2015-08-27 18:38     ` Konrad Rzeszutek Wilk
2015-08-27 11:02 ` [PATCH v2 5/8] tmem: Move TMEM_CONTROL subop of tmem hypercall to sysctl Konrad Rzeszutek Wilk
2015-08-27 11:22   ` Wei Liu
2015-08-27 13:12   ` Andrew Cooper
2015-08-27 15:13     ` Jan Beulich
2015-08-27 18:47     ` Konrad Rzeszutek Wilk
2015-08-27 18:58       ` Andrew Cooper
2015-08-27 19:20         ` Konrad Rzeszutek Wilk [this message]
2015-08-28  8:31           ` Jan Beulich
2015-08-28 14:15         ` Konrad Rzeszutek Wilk
2015-08-28 14:40           ` Jan Beulich
2015-08-27 15:11   ` Jan Beulich
2015-08-27 18:43     ` Konrad Rzeszutek Wilk
2015-08-27 19:02       ` Andrew Cooper
2015-08-28  7:03       ` Jan Beulich
2015-08-27 11:02 ` [PATCH v2 6/8] tmem: Remove the old tmem control XSM checks as it is part of sysctl hypercall Konrad Rzeszutek Wilk
2015-08-27 20:59   ` Daniel De Graaf
2015-08-27 11:02 ` [PATCH v2 7/8] tmem: Remove extra spaces at end and some hard tabbing Konrad Rzeszutek Wilk
2015-08-27 13:19   ` Andrew Cooper
2015-08-27 11:02 ` [PATCH v2 8/8] tmem: Spelling mistakes Konrad Rzeszutek Wilk
2015-08-27 15:14   ` Jan Beulich
2015-08-27 13:30 ` [PATCH v2] Tmem bug-fixes and cleanups Andrew Cooper
2015-08-27 14:10 ` Wei Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150827192021.GK5982@konrad-lan.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.