All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1 1/1] qmp: remove qmp_cpu
@ 2017-12-20 10:23 Daniel Henrique Barboza
  2017-12-20 10:33 ` Daniel P. Berrange
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Daniel Henrique Barboza @ 2017-12-20 10:23 UTC (permalink / raw)
  To: qemu-devel
  Cc: Daniel Henrique Barboza, Markus Armbruster, Eric Blake,
	Daniel P . Berrange

'qmp_cpu' was implemented in commit 755f196898 ("qapi: Convert the cpu
command") as a functional no-op, a QMP call that does nothing and
return success. The idea, apparently, was to provide a counterpart
for the HMP 'hmp_cpu' command, introduced in the same commit.

After 6 years of its creation, qmp_cpu remains a functional no-op
that does nothing, having no value for any caller/user. A proposal
was sent to implement qmp_cpu like hmp_cpu works, but it was denied
[1]. The reason is that QMP must be as stateless as possible and a
function that changes its state (the current CPU monitor in the case
of qmp_cpu) goes against it. Any QMP command that needs a specific
monitor CPU setup must provide it in its arguments, instead of relying
in the current QMP monitor state.

After discussions that happened in [2] it was decided that a command
that does nothing since its birth, no one uses for anything and will
not be implemented, should be deprecated and erased. Given that we will
*not* provide any replacement for qmp_cpu and we believe that there
is no user relying on it, there is no point in adding a deprecation
delay for it.

So, this patch nukes qmp_cpu from QEMU code, removing both its blank
implementation in qmp.c and its doc in qapi-schema.json.

[1] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg02283.html
[2] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg03696.html

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
CC: Markus Armbruster <armbru@redhat.com>
CC: Eric Blake <eblake@redhat.com>
CC: Daniel P. Berrange <berrange@redhat.com>
---
 qapi-schema.json | 11 -----------
 qmp.c            |  5 -----
 2 files changed, 16 deletions(-)

diff --git a/qapi-schema.json b/qapi-schema.json
index 18457954a8..5c29bcd27f 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -1046,17 +1046,6 @@
 { 'command': 'system_powerdown' }
 
 ##
-# @cpu:
-#
-# This command is a nop that is only provided for the purposes of compatibility.
-#
-# Since: 0.14.0
-#
-# Notes: Do not use this command.
-##
-{ 'command': 'cpu', 'data': {'index': 'int'} }
-
-##
 # @cpu-add:
 #
 # Adds CPU with specified ID
diff --git a/qmp.c b/qmp.c
index e8c303116a..52cfd2d81c 100644
--- a/qmp.c
+++ b/qmp.c
@@ -113,11 +113,6 @@ void qmp_system_powerdown(Error **erp)
     qemu_system_powerdown_request();
 }
 
-void qmp_cpu(int64_t index, Error **errp)
-{
-    /* Just do nothing */
-}
-
 void qmp_cpu_add(int64_t id, Error **errp)
 {
     MachineClass *mc;
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH v1 1/1] qmp: remove qmp_cpu
  2017-12-20 10:23 [Qemu-devel] [PATCH v1 1/1] qmp: remove qmp_cpu Daniel Henrique Barboza
@ 2017-12-20 10:33 ` Daniel P. Berrange
  2017-12-20 18:55 ` Markus Armbruster
  2017-12-20 19:11 ` Eric Blake
  2 siblings, 0 replies; 4+ messages in thread
From: Daniel P. Berrange @ 2017-12-20 10:33 UTC (permalink / raw)
  To: Daniel Henrique Barboza; +Cc: qemu-devel, Markus Armbruster, Eric Blake

On Wed, Dec 20, 2017 at 08:23:04AM -0200, Daniel Henrique Barboza wrote:
> 'qmp_cpu' was implemented in commit 755f196898 ("qapi: Convert the cpu
> command") as a functional no-op, a QMP call that does nothing and
> return success. The idea, apparently, was to provide a counterpart
> for the HMP 'hmp_cpu' command, introduced in the same commit.
> 
> After 6 years of its creation, qmp_cpu remains a functional no-op
> that does nothing, having no value for any caller/user. A proposal
> was sent to implement qmp_cpu like hmp_cpu works, but it was denied
> [1]. The reason is that QMP must be as stateless as possible and a
> function that changes its state (the current CPU monitor in the case
> of qmp_cpu) goes against it. Any QMP command that needs a specific
> monitor CPU setup must provide it in its arguments, instead of relying
> in the current QMP monitor state.
> 
> After discussions that happened in [2] it was decided that a command
> that does nothing since its birth, no one uses for anything and will
> not be implemented, should be deprecated and erased. Given that we will
> *not* provide any replacement for qmp_cpu and we believe that there
> is no user relying on it, there is no point in adding a deprecation
> delay for it.
> 
> So, this patch nukes qmp_cpu from QEMU code, removing both its blank
> implementation in qmp.c and its doc in qapi-schema.json.
> 
> [1] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg02283.html
> [2] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg03696.html
> 
> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
> CC: Markus Armbruster <armbru@redhat.com>
> CC: Eric Blake <eblake@redhat.com>
> CC: Daniel P. Berrange <berrange@redhat.com>
> ---
>  qapi-schema.json | 11 -----------
>  qmp.c            |  5 -----
>  2 files changed, 16 deletions(-)

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>


> 
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 18457954a8..5c29bcd27f 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -1046,17 +1046,6 @@
>  { 'command': 'system_powerdown' }
>  
>  ##
> -# @cpu:
> -#
> -# This command is a nop that is only provided for the purposes of compatibility.
> -#
> -# Since: 0.14.0
> -#
> -# Notes: Do not use this command.
> -##
> -{ 'command': 'cpu', 'data': {'index': 'int'} }
> -
> -##
>  # @cpu-add:
>  #
>  # Adds CPU with specified ID
> diff --git a/qmp.c b/qmp.c
> index e8c303116a..52cfd2d81c 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -113,11 +113,6 @@ void qmp_system_powerdown(Error **erp)
>      qemu_system_powerdown_request();
>  }
>  
> -void qmp_cpu(int64_t index, Error **errp)
> -{
> -    /* Just do nothing */
> -}
> -
>  void qmp_cpu_add(int64_t id, Error **errp)
>  {
>      MachineClass *mc;
> -- 
> 2.13.6
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH v1 1/1] qmp: remove qmp_cpu
  2017-12-20 10:23 [Qemu-devel] [PATCH v1 1/1] qmp: remove qmp_cpu Daniel Henrique Barboza
  2017-12-20 10:33 ` Daniel P. Berrange
@ 2017-12-20 18:55 ` Markus Armbruster
  2017-12-20 19:11 ` Eric Blake
  2 siblings, 0 replies; 4+ messages in thread
From: Markus Armbruster @ 2017-12-20 18:55 UTC (permalink / raw)
  To: Daniel Henrique Barboza; +Cc: qemu-devel

Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> writes:

> 'qmp_cpu' was implemented in commit 755f196898 ("qapi: Convert the cpu
> command") as a functional no-op, a QMP call that does nothing and
> return success. The idea, apparently, was to provide a counterpart
> for the HMP 'hmp_cpu' command, introduced in the same commit.
>
> After 6 years of its creation, qmp_cpu remains a functional no-op
> that does nothing, having no value for any caller/user. A proposal
> was sent to implement qmp_cpu like hmp_cpu works, but it was denied
> [1]. The reason is that QMP must be as stateless as possible and a
> function that changes its state (the current CPU monitor in the case
> of qmp_cpu) goes against it. Any QMP command that needs a specific
> monitor CPU setup must provide it in its arguments, instead of relying
> in the current QMP monitor state.
>
> After discussions that happened in [2] it was decided that a command
> that does nothing since its birth, no one uses for anything and will
> not be implemented, should be deprecated and erased. Given that we will
> *not* provide any replacement for qmp_cpu and we believe that there
> is no user relying on it, there is no point in adding a deprecation
> delay for it.
>
> So, this patch nukes qmp_cpu from QEMU code, removing both its blank
> implementation in qmp.c and its doc in qapi-schema.json.
>
> [1] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg02283.html
> [2] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg03696.html
>
> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
> CC: Markus Armbruster <armbru@redhat.com>
> CC: Eric Blake <eblake@redhat.com>
> CC: Daniel P. Berrange <berrange@redhat.com>

Lovely commit message.

I'll take this through my tree.  Thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH v1 1/1] qmp: remove qmp_cpu
  2017-12-20 10:23 [Qemu-devel] [PATCH v1 1/1] qmp: remove qmp_cpu Daniel Henrique Barboza
  2017-12-20 10:33 ` Daniel P. Berrange
  2017-12-20 18:55 ` Markus Armbruster
@ 2017-12-20 19:11 ` Eric Blake
  2 siblings, 0 replies; 4+ messages in thread
From: Eric Blake @ 2017-12-20 19:11 UTC (permalink / raw)
  To: Daniel Henrique Barboza, qemu-devel
  Cc: Markus Armbruster, Daniel P . Berrange

On 12/20/2017 04:23 AM, Daniel Henrique Barboza wrote:
> 'qmp_cpu' was implemented in commit 755f196898 ("qapi: Convert the cpu
> command") as a functional no-op, a QMP call that does nothing and
> return success. The idea, apparently, was to provide a counterpart
> for the HMP 'hmp_cpu' command, introduced in the same commit.
> 
> After 6 years of its creation, qmp_cpu remains a functional no-op
> that does nothing, having no value for any caller/user. A proposal
> was sent to implement qmp_cpu like hmp_cpu works, but it was denied
> [1]. The reason is that QMP must be as stateless as possible and a
> function that changes its state (the current CPU monitor in the case
> of qmp_cpu) goes against it. Any QMP command that needs a specific
> monitor CPU setup must provide it in its arguments, instead of relying
> in the current QMP monitor state.

s/in/on/

> 
> After discussions that happened in [2] it was decided that a command
> that does nothing since its birth, no one uses for anything and will
> not be implemented, should be deprecated and erased. Given that we will
> *not* provide any replacement for qmp_cpu and we believe that there
> is no user relying on it, there is no point in adding a deprecation
> delay for it.
> 
> So, this patch nukes qmp_cpu from QEMU code, removing both its blank
> implementation in qmp.c and its doc in qapi-schema.json.
> 
> [1] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg02283.html
> [2] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg03696.html
> 
> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
> CC: Markus Armbruster <armbru@redhat.com>
> CC: Eric Blake <eblake@redhat.com>
> CC: Daniel P. Berrange <berrange@redhat.com>
> ---
>   qapi-schema.json | 11 -----------
>   qmp.c            |  5 -----
>   2 files changed, 16 deletions(-)

Took a while to iterate to this solution, but I love the end result.

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-12-20 19:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-20 10:23 [Qemu-devel] [PATCH v1 1/1] qmp: remove qmp_cpu Daniel Henrique Barboza
2017-12-20 10:33 ` Daniel P. Berrange
2017-12-20 18:55 ` Markus Armbruster
2017-12-20 19:11 ` Eric Blake

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.