qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>,
	libvir-list@redhat.com, Markus Armbruster <armbru@redhat.com>,
	Laurent Vivier <laurent@vivier.eu>,
	Eric Blake <eblake@redhat.com>
Subject: [PATCH v3 10/10] hmp: Deprecate 'singlestep' member of StatusInfo
Date: Mon, 17 Apr 2023 17:40:41 +0100	[thread overview]
Message-ID: <20230417164041.684562-11-peter.maydell@linaro.org> (raw)
In-Reply-To: <20230417164041.684562-1-peter.maydell@linaro.org>

The 'singlestep' member of StatusInfo has never done what the QMP
documentation claims it does.  What it actually reports is whether
TCG is working in "one guest instruction per translation block" mode.

We no longer need this field for the HMP 'info status' command, as
we've moved that information to 'info jit'.  It seems unlikely that
anybody is monitoring the state of this obscure TCG setting via QMP,
especially since QMP provides no means for changing the setting.  So
simply deprecate the field, without providing any replacement.

Until we do eventually delete the member, correct the misstatements
in the QAPI documentation about it.

If we do find that there are users for this, then the most likely way
we would provide replacement access to the information would be to
put the accelerator QOM object at a well-known path such as
/machine/accel, which could then be used with the existing qom-set
and qom-get commands.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
For v3: because we're only deprecating the existing member,
not trying to provide a replacement with a new name, we don't
need to update the iotests that use the command. (We will when
we eventually drop the deprecated member.)
---
 docs/about/deprecated.rst | 14 ++++++++++++++
 qapi/run-state.json       | 14 +++++++++++---
 2 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 6f5e689aa45..d5eda0f566c 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -199,6 +199,20 @@ accepted incorrect commands will return an error. Users should make sure that
 all arguments passed to ``device_add`` are consistent with the documented
 property types.
 
+``StatusInfo`` member ``singlestep`` (since 8.1)
+''''''''''''''''''''''''''''''''''''''''''''''''
+
+The ``singlestep`` member of the ``StatusInfo`` returned from the
+``query-status`` command is deprecated. This member has a confusing
+name and it never did what the documentation claimed or what its name
+suggests. We do not believe that anybody is actually using the
+information provided in this member.
+
+The information it reports is whether the TCG JIT is in "one
+instruction per translated block" mode (which can be set on the
+command line or via the HMP, but not via QMP). The information remains
+available via the HMP 'info jit' command.
+
 Human Monitor Protocol (HMP) commands
 -------------------------------------
 
diff --git a/qapi/run-state.json b/qapi/run-state.json
index 9d34afa39e0..daf03a6fe9c 100644
--- a/qapi/run-state.json
+++ b/qapi/run-state.json
@@ -104,16 +104,24 @@
 #
 # @running: true if all VCPUs are runnable, false if not runnable
 #
-# @singlestep: true if VCPUs are in single-step mode
+# @singlestep: true if using TCG with one guest instruction
+#              per translation block
 #
 # @status: the virtual machine @RunState
 #
+# Features:
+# @deprecated: Member 'singlestep' is deprecated (with no replacement).
+#
 # Since: 0.14
 #
-# Notes: @singlestep is enabled through the GDB stub
+# Notes: @singlestep is enabled on the command line with
+#        '-accel tcg,one-insn-per-tb=on', or with the HMP
+#        'one-insn-per-tb' command.
 ##
 { 'struct': 'StatusInfo',
-  'data': {'running': 'bool', 'singlestep': 'bool', 'status': 'RunState'} }
+  'data': {'running': 'bool',
+           'singlestep': { 'type': 'bool', 'features': [ 'deprecated' ]},
+           'status': 'RunState'} }
 
 ##
 # @query-status:
-- 
2.34.1



  parent reply	other threads:[~2023-04-17 16:41 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-17 16:40 [PATCH v3 00/10] Deprecate/rename singlestep command line option, monitor interfaces Peter Maydell
2023-04-17 16:40 ` [PATCH v3 01/10] make one-insn-per-tb an accel option Peter Maydell
2023-04-17 16:40 ` [PATCH v3 02/10] softmmu: Don't use 'singlestep' global in QMP and HMP commands Peter Maydell
2023-04-20  8:54   ` Philippe Mathieu-Daudé
2023-04-17 16:40 ` [PATCH v3 03/10] accel/tcg: Use one_insn_per_tb global instead of old singlestep global Peter Maydell
2023-04-18  8:02   ` Richard Henderson
2023-04-18  8:05   ` Richard Henderson
2023-04-18  9:44     ` Peter Maydell
2023-04-20  8:55   ` Philippe Mathieu-Daudé
2023-04-17 16:40 ` [PATCH v3 04/10] linux-user: Add '-one-insn-per-tb' option equivalent to '-singlestep' Peter Maydell
2023-04-20  9:13   ` Philippe Mathieu-Daudé
2023-04-20  9:19     ` Peter Maydell
2023-04-20 10:05       ` Philippe Mathieu-Daudé
2023-04-17 16:40 ` [PATCH v3 05/10] bsd-user: " Peter Maydell
2023-04-20  9:13   ` Philippe Mathieu-Daudé
2023-04-17 16:40 ` [PATCH v3 06/10] Document that -singlestep command line option is deprecated Peter Maydell
2023-04-20  8:56   ` Philippe Mathieu-Daudé
2023-04-17 16:40 ` [PATCH v3 07/10] accel/tcg: Report one-insn-per-tb in 'info jit', not 'info status' Peter Maydell
2023-04-18  8:06   ` Richard Henderson
2023-04-20  9:02   ` Philippe Mathieu-Daudé
2023-04-17 16:40 ` [PATCH v3 08/10] hmp: Add 'one-insn-per-tb' command equivalent to 'singlestep' Peter Maydell
2023-04-20  9:03   ` Philippe Mathieu-Daudé
2023-04-17 16:40 ` [PATCH v3 09/10] qapi/run-state.json: Fix missing newline at end of file Peter Maydell
2023-04-20  9:04   ` Philippe Mathieu-Daudé
2023-04-17 16:40 ` Peter Maydell [this message]
2023-04-18  8:08   ` [PATCH v3 10/10] hmp: Deprecate 'singlestep' member of StatusInfo Richard Henderson
2023-04-20  9:05   ` Philippe Mathieu-Daudé
2023-04-24 10:06   ` Peter Maydell
     [not found]   ` <87jzy18oqv.fsf@pond.sub.org>
2023-04-25 12:13     ` Peter Maydell
2023-04-25 13:08       ` Markus Armbruster
2023-05-02 10:22 ` [PATCH v3 00/10] Deprecate/rename singlestep command line option, monitor interfaces Peter Maydell
2023-05-02 10:43   ` Markus Armbruster

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=20230417164041.684562-11-peter.maydell@linaro.org \
    --to=peter.maydell@linaro.org \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=imp@bsdimp.com \
    --cc=kevans@freebsd.org \
    --cc=laurent@vivier.eu \
    --cc=libvir-list@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).