From: Vasilis Liaskovitis <vliaskovitis@suse.com> To: Jan Beulich <JBeulich@suse.com> Cc: Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>, George Dunlap <George.Dunlap@eu.citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Ian Jackson <Ian.Jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>, xen-devel <xen-devel@lists.xenproject.org>, Daniel de Graaf <dgdegra@tycho.nsa.gov> Subject: Re: [PATCH v2 1/4] xen: add hypercall for getting parameters at runtime Date: Tue, 30 Apr 2019 21:05:54 +0200 [thread overview] Message-ID: <5df570f5ea7ca04610e73d3d8df5c4690e9d0669.camel@suse.com> (raw) In-Reply-To: <5CA76DE50200007800224E9C@suse.com> Sorry for the delay, I was on a long vacation. On Fri, 2019-04-05 at 17:01 +0200, Jan Beulich wrote:On 22.03.19 at 20:28, <vliaskovitis@suse.com> wrote: > > Limitations: > > - Custom runtime parameters (OPT_CUSTOM) are not supported yet. > > - For integer parameters (OPT_UINT), only unsigned parameters are > > printed > > correctly. > > For this latter case I wonder whether it wouldn't be better to > return back the raw binary value, allowing the caller to format > it in suitable ways (e.g. both signed and unsigned, or dec and > hex). Currently the caller is oblivious to the parameters and their types, and all retrieved values are printed together in a single string (see patch 4/4). I'd like to keep it like that for simplicity. Otherwise I think the caller has to find the types of requested parameters to produce the right formatting. Actually, since OPT_UINT is used for both signed and unsigned integer parameters, case-by-case parameter formatting would be required to do this, and the libx* callers do not have that knowledge. A "get_" per-parameter function pointer, which would handle formatting for each parameter, be it int, uint, string or custom, seems cleaner to me than leaving it to the caller. By the way, the current implementation searches in [__param_start __param_end), which are only the runtime parameters, not all parameters, correct? So the series should be renamed to "Support for reading runtime-only hypervisor parameters". The command is useful for checking parameters that can be changed at runtime after all. I believe there are currently no signed integer runtime parameters. So alternatively we could add a warning to the commit message and/or to the code stating that signed integer runtime parameters, if added, would not be printed correctly at the moment. This would gloss over rather than solve the issue. If correct formatting for all possible types is a requirement, the get_function may be needed. Or we could separate integer from unsigned integer parameters with an additional OPT_INT parameter type. I don't know if either of these is desirable or simply overkill to implement just for this command. I 'll send a v3 when there is agreement on the above. [...] > > + { > > + case OPT_STR: > > + len = snprintf(val + bufpos, maxlen - bufpos, "%s > > ", > > + (char*)param->par.var); > > What you return here is the value as set into the buffer when the > option was parsed, and before that string was actually consumed. > Is this really what's interesting to the user? I'd rather expect them > to be after what is actually in effect. > > Since we've decided against a "get" per-option hook, I consider it > acceptable this way as long as the behavior is spelled out amongst > the limitations. > I 'll add this limitation to the commit message in the next version. thanks, - Vasilis _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: Vasilis Liaskovitis <vliaskovitis@suse.com> To: Jan Beulich <JBeulich@suse.com> Cc: Juergen Gross <jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>, George Dunlap <George.Dunlap@eu.citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Ian Jackson <Ian.Jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>, xen-devel <xen-devel@lists.xenproject.org>, Daniel de Graaf <dgdegra@tycho.nsa.gov> Subject: Re: [Xen-devel] [PATCH v2 1/4] xen: add hypercall for getting parameters at runtime Date: Tue, 30 Apr 2019 21:05:54 +0200 [thread overview] Message-ID: <5df570f5ea7ca04610e73d3d8df5c4690e9d0669.camel@suse.com> (raw) Message-ID: <20190430190554.TRAWxn7kC5QN9VTsRT79kdJP7dyrhmkchf0XM1fkP5c@z> (raw) In-Reply-To: <5CA76DE50200007800224E9C@suse.com> Sorry for the delay, I was on a long vacation. On Fri, 2019-04-05 at 17:01 +0200, Jan Beulich wrote:On 22.03.19 at 20:28, <vliaskovitis@suse.com> wrote: > > Limitations: > > - Custom runtime parameters (OPT_CUSTOM) are not supported yet. > > - For integer parameters (OPT_UINT), only unsigned parameters are > > printed > > correctly. > > For this latter case I wonder whether it wouldn't be better to > return back the raw binary value, allowing the caller to format > it in suitable ways (e.g. both signed and unsigned, or dec and > hex). Currently the caller is oblivious to the parameters and their types, and all retrieved values are printed together in a single string (see patch 4/4). I'd like to keep it like that for simplicity. Otherwise I think the caller has to find the types of requested parameters to produce the right formatting. Actually, since OPT_UINT is used for both signed and unsigned integer parameters, case-by-case parameter formatting would be required to do this, and the libx* callers do not have that knowledge. A "get_" per-parameter function pointer, which would handle formatting for each parameter, be it int, uint, string or custom, seems cleaner to me than leaving it to the caller. By the way, the current implementation searches in [__param_start __param_end), which are only the runtime parameters, not all parameters, correct? So the series should be renamed to "Support for reading runtime-only hypervisor parameters". The command is useful for checking parameters that can be changed at runtime after all. I believe there are currently no signed integer runtime parameters. So alternatively we could add a warning to the commit message and/or to the code stating that signed integer runtime parameters, if added, would not be printed correctly at the moment. This would gloss over rather than solve the issue. If correct formatting for all possible types is a requirement, the get_function may be needed. Or we could separate integer from unsigned integer parameters with an additional OPT_INT parameter type. I don't know if either of these is desirable or simply overkill to implement just for this command. I 'll send a v3 when there is agreement on the above. [...] > > + { > > + case OPT_STR: > > + len = snprintf(val + bufpos, maxlen - bufpos, "%s > > ", > > + (char*)param->par.var); > > What you return here is the value as set into the buffer when the > option was parsed, and before that string was actually consumed. > Is this really what's interesting to the user? I'd rather expect them > to be after what is actually in effect. > > Since we've decided against a "get" per-option hook, I consider it > acceptable this way as long as the behavior is spelled out amongst > the limitations. > I 'll add this limitation to the commit message in the next version. thanks, - Vasilis _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-04-30 19:06 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-22 19:28 [PATCH v2 0/4] Support for reading hypervisor parameters at runtime Vasilis Liaskovitis 2019-03-22 19:28 ` [PATCH v2 1/4] xen: add hypercall for getting " Vasilis Liaskovitis 2019-04-05 15:01 ` Jan Beulich 2019-04-05 15:01 ` [Xen-devel] " Jan Beulich [not found] ` <5CA76DE50200007800224E9C@suse.com> 2019-04-30 19:05 ` Vasilis Liaskovitis [this message] 2019-04-30 19:05 ` Vasilis Liaskovitis 2019-05-02 7:36 ` Jan Beulich 2019-05-02 7:36 ` [Xen-devel] " Jan Beulich 2019-03-22 19:28 ` [PATCH v2 2/4] libxc: add function to get hypervisor parameters Vasilis Liaskovitis 2019-03-22 19:28 ` [PATCH v2 3/4] libxl: add libxl_get_parameters() function Vasilis Liaskovitis 2019-03-22 19:28 ` [PATCH v2 4/4] xl: add new xl command get-parameters Vasilis Liaskovitis
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=5df570f5ea7ca04610e73d3d8df5c4690e9d0669.camel@suse.com \ --to=vliaskovitis@suse.com \ --cc=George.Dunlap@eu.citrix.com \ --cc=Ian.Jackson@eu.citrix.com \ --cc=JBeulich@suse.com \ --cc=andrew.cooper3@citrix.com \ --cc=dgdegra@tycho.nsa.gov \ --cc=jgross@suse.com \ --cc=sstabellini@kernel.org \ --cc=tim@xen.org \ --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: linkBe 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.