All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dave@treblig.org>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
	kvm@vger.kernel.org,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Yanan Wang" <wangyanan55@huawei.com>,
	"Zhao Liu" <zhao1.liu@intel.com>,
	"Eric Blake" <eblake@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Fabiano Rosas" <farosas@suse.de>,
	"Laurent Vivier" <lvivier@redhat.com>
Subject: Re: [PATCH v5 23/69] accel/tcg: Remove 'info opcount' and @x-query-opcount
Date: Thu, 3 Jul 2025 11:32:09 +0000	[thread overview]
Message-ID: <aGZqObkB6cBqo2tv@gallifrey> (raw)
In-Reply-To: <20250703105540.67664-24-philmd@linaro.org>

* Philippe Mathieu-Daudé (philmd@linaro.org) wrote:
> Since commit 1b65b4f54c7 ("accel/tcg: remove CONFIG_PROFILER",
> released with QEMU v8.1.0) we get pointless output:
> 
>   (qemu) info opcount
>   [TCG profiler not compiled]
> 
> Remove that unstable and unuseful command.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

For HMP
Acked-by: Dr. David Alan Gilbert <dave@treblig.org>

> ---
>  qapi/machine.json          | 18 ------------------
>  accel/tcg/monitor.c        | 21 ---------------------
>  tests/qtest/qmp-cmd-test.c |  1 -
>  hmp-commands-info.hx       | 14 --------------
>  4 files changed, 54 deletions(-)
> 
> diff --git a/qapi/machine.json b/qapi/machine.json
> index d5bbb5e367e..acf6610efa5 100644
> --- a/qapi/machine.json
> +++ b/qapi/machine.json
> @@ -1764,24 +1764,6 @@
>    'returns': 'HumanReadableText',
>    'features': [ 'unstable' ] }
>  
> -##
> -# @x-query-opcount:
> -#
> -# Query TCG opcode counters
> -#
> -# Features:
> -#
> -# @unstable: This command is meant for debugging.
> -#
> -# Returns: TCG opcode counters
> -#
> -# Since: 6.2
> -##
> -{ 'command': 'x-query-opcount',
> -  'returns': 'HumanReadableText',
> -  'if': 'CONFIG_TCG',
> -  'features': [ 'unstable' ] }
> -
>  ##
>  # @x-query-ramblock:
>  #
> diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c
> index 1c182b6bfb5..7c686226b21 100644
> --- a/accel/tcg/monitor.c
> +++ b/accel/tcg/monitor.c
> @@ -215,30 +215,9 @@ HumanReadableText *qmp_x_query_jit(Error **errp)
>      return human_readable_text_from_str(buf);
>  }
>  
> -static void tcg_dump_op_count(GString *buf)
> -{
> -    g_string_append_printf(buf, "[TCG profiler not compiled]\n");
> -}
> -
> -HumanReadableText *qmp_x_query_opcount(Error **errp)
> -{
> -    g_autoptr(GString) buf = g_string_new("");
> -
> -    if (!tcg_enabled()) {
> -        error_setg(errp,
> -                   "Opcode count information is only available with accel=tcg");
> -        return NULL;
> -    }
> -
> -    tcg_dump_op_count(buf);
> -
> -    return human_readable_text_from_str(buf);
> -}
> -
>  static void hmp_tcg_register(void)
>  {
>      monitor_register_hmp_info_hrt("jit", qmp_x_query_jit);
> -    monitor_register_hmp_info_hrt("opcount", qmp_x_query_opcount);
>  }
>  
>  type_init(hmp_tcg_register);
> diff --git a/tests/qtest/qmp-cmd-test.c b/tests/qtest/qmp-cmd-test.c
> index 040d042810b..cf718761861 100644
> --- a/tests/qtest/qmp-cmd-test.c
> +++ b/tests/qtest/qmp-cmd-test.c
> @@ -51,7 +51,6 @@ static int query_error_class(const char *cmd)
>          { "x-query-usb", ERROR_CLASS_GENERIC_ERROR },
>          /* Only valid with accel=tcg */
>          { "x-query-jit", ERROR_CLASS_GENERIC_ERROR },
> -        { "x-query-opcount", ERROR_CLASS_GENERIC_ERROR },
>          { "xen-event-list", ERROR_CLASS_GENERIC_ERROR },
>          { NULL, -1 }
>      };
> diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx
> index 639a450ee51..d7979222752 100644
> --- a/hmp-commands-info.hx
> +++ b/hmp-commands-info.hx
> @@ -256,20 +256,6 @@ SRST
>      Show dynamic compiler info.
>  ERST
>  
> -#if defined(CONFIG_TCG)
> -    {
> -        .name       = "opcount",
> -        .args_type  = "",
> -        .params     = "",
> -        .help       = "show dynamic compiler opcode counters",
> -    },
> -#endif
> -
> -SRST
> -  ``info opcount``
> -    Show dynamic compiler opcode counters
> -ERST
> -
>      {
>          .name       = "sync-profile",
>          .args_type  = "mean:-m,no_coalesce:-n,max:i?",
> -- 
> 2.49.0
> 
-- 
 -----Open up your eyes, open up your mind, open up your code -------   
/ Dr. David Alan Gilbert    |       Running GNU/Linux       | Happy  \ 
\        dave @ treblig.org |                               | In Hex /
 \ _________________________|_____ http://www.treblig.org   |_______/

  reply	other threads:[~2025-07-03 11:32 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-03 10:54 [PATCH v5 00/69] accel: Preparatory cleanups for split-accel Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 01/69] system/memory: Restrict eventfd dispatch_write() to emulators Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 02/69] system/runstate: Document qemu_add_vm_change_state_handler() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 03/69] system/cpus: Defer memory layout changes until vCPUs are realized Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 04/69] system/cpus: Assert interrupt handling is done with BQL locked Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 05/69] accel: Keep reference to AccelOpsClass in AccelClass Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 06/69] accel: Introduce AccelOpsClass::cpu_target_realize() hook Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 07/69] accel/hvf: Add hvf_arch_cpu_realize() stubs Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 08/69] accel/kvm: Remove kvm_init_cpu_signals() stub Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 09/69] accel/kvm: Reduce kvm_create_vcpu() declaration scope Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 10/69] accel: Propagate AccelState to AccelClass::init_machine() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 11/69] accel/kvm: Prefer local AccelState over global MachineState::accel Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 12/69] accel/hvf: Re-use QOM allocated state Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 13/69] accel/tcg: Prefer local AccelState over global current_accel() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 14/69] accel: Directly pass AccelState argument to AccelClass::has_memory() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 15/69] accel/kvm: Directly pass KVMState argument to do_kvm_create_vm() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 16/69] accel: Remove unused MachineState argument of AccelClass::setup_post() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 17/69] accel: Pass AccelState argument to gdbstub_supported_sstep_flags() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 18/69] accel: Move supports_guest_debug() declaration to AccelClass Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 19/69] accel: Move cpus_are_resettable() " Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 20/69] accel: Move cpu_common_[un]realize() declarations to AccelOpsClass Philippe Mathieu-Daudé
2025-07-03 14:50   ` Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 21/69] accel/system: Convert pre_resume() from AccelOpsClass to AccelClass Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 22/69] hw/core/machine: Display CPU model name in 'info cpus' command Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 23/69] accel/tcg: Remove 'info opcount' and @x-query-opcount Philippe Mathieu-Daudé
2025-07-03 11:32   ` Dr. David Alan Gilbert [this message]
2025-07-03 17:12   ` Richard Henderson
2025-07-03 10:54 ` [PATCH v5 24/69] accel/tcg: Remove profiler leftover Philippe Mathieu-Daudé
2025-07-03 17:12   ` Richard Henderson
2025-07-03 10:54 ` [PATCH v5 25/69] accel/tcg: Factor tcg_dump_flush_info() out Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 26/69] accel/tcg: Factor tcg_dump_stats() out for re-use Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 27/69] accel/tcg: Extract statistic related code to tcg-stats.c Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 28/69] qapi: Move definitions related to accelerators in their own file Philippe Mathieu-Daudé
2025-07-03 16:42   ` Philippe Mathieu-Daudé
2025-07-15 17:29     ` Philippe Mathieu-Daudé
2025-07-16  8:23     ` Markus Armbruster
2025-07-16  9:24       ` Daniel P. Berrangé
2025-07-17  8:45         ` Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 29/69] accel/system: Introduce @x-accel-stats QMP command Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 30/69] accel/system: Add 'info accel' on human monitor Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 31/69] accel/tcg: Implement get_[vcpu]_stats() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 32/69] accel/hvf: Implement get_vcpu_stats() Philippe Mathieu-Daudé
2025-07-03 10:54 ` [PATCH v5 33/69] accel/hvf: Report missing com.apple.security.hypervisor entitlement Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 34/69] accel/hvf: Restrict internal declarations Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 35/69] accel/hvf: Move per-cpu method declarations to hvf-accel-ops.c Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 36/69] accel/hvf: Move generic method declarations to hvf-all.c Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 37/69] cpus: Document CPUState::vcpu_dirty field Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 38/69] accel/hvf: Replace @dirty field by generic " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 39/69] accel/nvmm: " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 40/69] accel/whpx: " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 41/69] accel/kvm: Remove kvm_cpu_synchronize_state() stub Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 42/69] accel/system: Document cpu_synchronize_state() Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 43/69] accel/system: Document cpu_synchronize_state_post_init/reset() Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 44/69] accel/nvmm: Expose nvmm_enabled() to common code Philippe Mathieu-Daudé
2025-07-03 11:01   ` Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 45/69] accel/whpx: Expose whpx_enabled() " Philippe Mathieu-Daudé
2025-07-03 11:02   ` Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 46/69] accel/system: Introduce hwaccel_enabled() helper Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 47/69] target/arm: Use generic hwaccel_enabled() to check 'host' cpu type Philippe Mathieu-Daudé
2025-07-03 13:45   ` Philippe Mathieu-Daudé
2025-07-03 13:46     ` Peter Maydell
2025-07-03 14:46       ` Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 48/69] accel/dummy: Extract 'dummy-cpus.h' header from 'system/cpus.h' Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 49/69] accel/dummy: Factor dummy_thread_precreate() out Philippe Mathieu-Daudé
2025-07-03 17:19   ` Richard Henderson
2025-07-03 10:55 ` [PATCH v5 50/69] accel/tcg: Factor tcg_vcpu_thread_precreate() out Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 51/69] accel: Factor accel_create_vcpu_thread() out Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 52/69] accel: Introduce AccelOpsClass::cpu_thread_routine handler Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 53/69] accel/dummy: Convert to AccelOpsClass::cpu_thread_routine Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 54/69] accel/tcg: " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 55/69] accel/hvf: " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 56/69] accel/kvm: " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 57/69] accel/nvmm: " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 58/69] accel/whpx: " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 59/69] accel: Factor accel_cpu_realize() out Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 60/69] accel: Pass old/new interrupt mask to handle_interrupt() handler Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 61/69] accel: Expose and register generic_handle_interrupt() Philippe Mathieu-Daudé
2025-07-03 17:21   ` Richard Henderson
2025-07-03 10:55 ` [PATCH v5 62/69] accel: Always register AccelOpsClass::kick_vcpu_thread() handler Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 63/69] accel: Always register AccelOpsClass::get_elapsed_ticks() handler Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 64/69] accel: Always register AccelOpsClass::get_virtual_clock() handler Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 65/69] accel/tcg: Factor tcg_vcpu_init() out for re-use Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 66/69] accel/tcg: Factor mttcg_cpu_exec() " Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 67/69] accel/tcg: Factor rr_cpu_exec() out Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 68/69] accel/tcg: Clear exit_request once in tcg_cpu_exec() Philippe Mathieu-Daudé
2025-07-03 10:55 ` [PATCH v5 69/69] accel/tcg: Unregister the RCU before exiting RR thread Philippe Mathieu-Daudé
2025-07-03 11:06 ` [PATCH v5 00/69] accel: Preparatory cleanups for split-accel Philippe Mathieu-Daudé

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=aGZqObkB6cBqo2tv@gallifrey \
    --to=dave@treblig.org \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=farosas@suse.de \
    --cc=kvm@vger.kernel.org \
    --cc=lvivier@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=pierrick.bouvier@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=wangyanan55@huawei.com \
    --cc=zhao1.liu@intel.com \
    /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 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.