qmp: remove qmp_cpu
PATCH 1/1 qmp: remove qmp_cpu
'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
--- qapi-schema.json | 11 ----------- qmp.c | 5 ----- 2 files changed, 16 deletions(-)
qapi-schema.json +0 -11
@@ -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
qmp.c +0 -5
@@ -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;
Signature · 1 line
2.13.6
Quoted 27 lines · Daniel Henrique Barboza
'
qmp_cpu' was implemented in commit755f196898("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_cpuremains a functional no-op that does nothing, having no value for any caller/user. A proposal was sent to implementqmp_cpulikehmp_cpuworks, 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 ofqmp_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_cpuand 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_cpufrom QEMU code, removing both its blank implementation inqmp.cand 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
Quoted 8 lines
Signed-off-by Daniel Henrique Barboza <[email protected]>CC Markus Armbruster <[email protected]>CC Eric Blake <[email protected]>CC Daniel P. Berrange <[email protected]>--- qapi-schema.json | 11 ----------- qmp.c | 5 ----- 2 files changed, 16 deletions(-)
Quoted 42 lines
qapi-schema.json +0
-11@@ -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 IDqmp.c +0
-5@@ -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;Signature · 1 line
2.13.6
Regards,
Daniel
Signature · 3 lines
|: 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 :|
Quoted 24 lines · Daniel Henrique Barboza
'
qmp_cpu' was implemented in commit755f196898("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_cpuremains a functional no-op that does nothing, having no value for any caller/user. A proposal was sent to implementqmp_cpulikehmp_cpuworks, 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 ofqmp_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_cpuand 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_cpufrom QEMU code, removing both its blank implementation inqmp.cand its doc in qapi-schema.json.
Quoted 7 lines
[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.htmlSigned-off-by Daniel Henrique Barboza <[email protected]>CC Markus Armbruster <[email protected]>CC Eric Blake <[email protected]>CC Daniel P. Berrange <[email protected]>
Lovely commit message.
I'll take this through my tree. Thanks!
Quoted 5 lines · Daniel Henrique Barboza
'
qmp_cpu' was implemented in commit755f196898("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.
Quoted 8 lines
After 6 years of its creation,
qmp_cpuremains a functional no-op that does nothing, having no value for any caller/user. A proposal was sent to implementqmp_cpulikehmp_cpuworks, 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 ofqmp_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/
Quoted 14 lines
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_cpuand 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_cpufrom QEMU code, removing both its blank implementation inqmp.cand 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
Quoted 8 lines
Signed-off-by Daniel Henrique Barboza <[email protected]>CC Markus Armbruster <[email protected]>CC Eric Blake <[email protected]>CC Daniel P. Berrange <[email protected]>--- 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.
Signature · 3 lines
Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org