diff mbox series

[v4,05/10] qapi: make the vcpu parameters deprecated for 8.1

Message ID 20230523125000.3674739-6-alex.bennee@linaro.org
State New
Headers show
Series tracing: remove dynamic vcpu state | expand

Commit Message

Alex Bennée May 23, 2023, 12:49 p.m. UTC
I don't think I can remove the parameters directly but certainly mark
them as deprecated.

Message-Id: <20230420150009.1675181-6-alex.bennee@linaro.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230503091756.1453057-6-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230505155336.137393-6-alex.bennee@linaro.org>

---
v4
  - used @deprecated in json
  - added note to deprecated.rst
---
 docs/about/deprecated.rst |  9 +++++++++
 qapi/trace.json           | 38 ++++++++++++++++++--------------------
 2 files changed, 27 insertions(+), 20 deletions(-)

Comments

Philippe Mathieu-Daudé May 24, 2023, 9:17 a.m. UTC | #1
On 23/5/23 14:49, Alex Bennée wrote:
> I don't think I can remove the parameters directly but certainly mark
> them as deprecated.
> 
> Message-Id: <20230420150009.1675181-6-alex.bennee@linaro.org>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Message-Id: <20230503091756.1453057-6-alex.bennee@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Message-Id: <20230505155336.137393-6-alex.bennee@linaro.org>
> 
> ---
> v4
>    - used @deprecated in json
>    - added note to deprecated.rst
> ---
>   docs/about/deprecated.rst |  9 +++++++++
>   qapi/trace.json           | 38 ++++++++++++++++++--------------------
>   2 files changed, 27 insertions(+), 20 deletions(-)


> @@ -52,19 +53,17 @@
>   #
>   # @name: Event name pattern (case-sensitive glob).
>   #
> -# @vcpu: The vCPU to query (any by default; since 2.7).
> +# @vcpu: The vCPU to query (since 2.7).
> +#
> +# Features:
> +# @deprecated: Member @vcpu is deprecated, and always false.
>   #
>   # Returns: a list of @TraceEventInfo for the matching events
>   #
>   # An event is returned if:
>   #
> -# - its name matches the @name pattern, and
> -# - if @vcpu is given, the event has the "vcpu" property.
> -#
> -# Therefore, if @vcpu is given, the operation will only match per-vCPU
> -# events, returning their state on the specified vCPU. Special case:
> -# if @name is an exact match, @vcpu is given and the event does not
> -# have the "vcpu" property, an error is returned.
> +# - its name matches the @name pattern
> +#   There are no longer any per-vCPU events

Maybe convert the 2 spaces by a newline, or even better simply:

   # An event is returned if its name matches the @name pattern
   # (There are no longer any per-vCPU events).

>   #
>   # Since: 2.2
>   #
> @@ -75,7 +74,8 @@
>   # <- { "return": [ { "name": "qemu_memalign", "state": "disabled", "vcpu": false } ] }
>   ##
>   { 'command': 'trace-event-get-state',
> -  'data': {'name': 'str', '*vcpu': 'int'},
> +  'data': {'name': 'str',
> +           '*vcpu': {'type': 'int', 'features': ['deprecated'] } },
>     'returns': ['TraceEventInfo'] }
>   
>   ##
> @@ -91,15 +91,13 @@
>   #
>   # @vcpu: The vCPU to act upon (all by default; since 2.7).
>   #
> -# An event's state is modified if:
> +# Features:
> +# @deprecated: Member @vcpu is deprecated, and always false.
>   #
> -# - its name matches the @name pattern, and
> -# - if @vcpu is given, the event has the "vcpu" property.
> +# An event's state is modified if:
>   #
> -# Therefore, if @vcpu is given, the operation will only match per-vCPU
> -# events, setting their state on the specified vCPU. Special case: if
> -# @name is an exact match, @vcpu is given and the event does not have
> -# the "vcpu" property, an error is returned.
> +# - its name matches the @name pattern
> +#   There are no longer any per-vCPU events

Ditto.

Otherwise:
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff mbox series

Patch

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index e934e0a13a..e44cde057f 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -254,6 +254,15 @@  it. Since all recent x86 hardware from the past >10 years is capable of the
 QEMU API (QAPI) events
 ----------------------
 
+``vcpu`` trace events (since 8.1)
+'''''''''''''''''''''''''''''''''
+
+The ability to instrument QEMU helper functions with vcpu aware trace
+points was removed in 7.0. However the QAPI still exposed the vcpu
+parameter. This argument has now been deprecated and the remaining
+used trace points converted to plain trace points selected just by
+name.
+
 ``MEM_UNPLUG_ERROR`` (since 6.2)
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
diff --git a/qapi/trace.json b/qapi/trace.json
index 6bf0af0946..aac58e875b 100644
--- a/qapi/trace.json
+++ b/qapi/trace.json
@@ -37,13 +37,14 @@ 
 #
 # @vcpu: Whether this is a per-vCPU event (since 2.7).
 #
-# An event is per-vCPU if it has the "vcpu" property in the
-# "trace-events" files.
+# Features:
+# @deprecated: Member @vcpu is deprecated, and always false.
 #
 # Since: 2.2
 ##
 { 'struct': 'TraceEventInfo',
-  'data': {'name': 'str', 'state': 'TraceEventState', 'vcpu': 'bool'} }
+  'data': {'name': 'str', 'state': 'TraceEventState',
+           'vcpu': { 'type': 'bool', 'features': ['deprecated'] } } }
 
 ##
 # @trace-event-get-state:
@@ -52,19 +53,17 @@ 
 #
 # @name: Event name pattern (case-sensitive glob).
 #
-# @vcpu: The vCPU to query (any by default; since 2.7).
+# @vcpu: The vCPU to query (since 2.7).
+#
+# Features:
+# @deprecated: Member @vcpu is deprecated, and always false.
 #
 # Returns: a list of @TraceEventInfo for the matching events
 #
 # An event is returned if:
 #
-# - its name matches the @name pattern, and
-# - if @vcpu is given, the event has the "vcpu" property.
-#
-# Therefore, if @vcpu is given, the operation will only match per-vCPU
-# events, returning their state on the specified vCPU. Special case:
-# if @name is an exact match, @vcpu is given and the event does not
-# have the "vcpu" property, an error is returned.
+# - its name matches the @name pattern
+#   There are no longer any per-vCPU events
 #
 # Since: 2.2
 #
@@ -75,7 +74,8 @@ 
 # <- { "return": [ { "name": "qemu_memalign", "state": "disabled", "vcpu": false } ] }
 ##
 { 'command': 'trace-event-get-state',
-  'data': {'name': 'str', '*vcpu': 'int'},
+  'data': {'name': 'str',
+           '*vcpu': {'type': 'int', 'features': ['deprecated'] } },
   'returns': ['TraceEventInfo'] }
 
 ##
@@ -91,15 +91,13 @@ 
 #
 # @vcpu: The vCPU to act upon (all by default; since 2.7).
 #
-# An event's state is modified if:
+# Features:
+# @deprecated: Member @vcpu is deprecated, and always false.
 #
-# - its name matches the @name pattern, and
-# - if @vcpu is given, the event has the "vcpu" property.
+# An event's state is modified if:
 #
-# Therefore, if @vcpu is given, the operation will only match per-vCPU
-# events, setting their state on the specified vCPU. Special case: if
-# @name is an exact match, @vcpu is given and the event does not have
-# the "vcpu" property, an error is returned.
+# - its name matches the @name pattern
+#   There are no longer any per-vCPU events
 #
 # Since: 2.2
 #
@@ -111,4 +109,4 @@ 
 ##
 { 'command': 'trace-event-set-state',
   'data': {'name': 'str', 'enable': 'bool', '*ignore-unavailable': 'bool',
-           '*vcpu': 'int'} }
+           '*vcpu': {'type': 'int', 'features': ['deprecated'] } } }