From: Markus Armbruster <armbru@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
"Julian Armistead" <julian.armistead@linaro.org>,
"Richard Henderson" <richard.henderson@linaro.org>
Subject: Re: [PATCH v3 24/68] accel/system: Add 'info accel' on human monitor
Date: Wed, 02 Jul 2025 14:00:01 +0200 [thread overview]
Message-ID: <87ms9myf9a.fsf@pond.sub.org> (raw)
In-Reply-To: <d9ab105e-20ad-4ee2-8655-2b89ed3910b8@linaro.org> ("Philippe Mathieu-Daudé"'s message of "Wed, 2 Jul 2025 09:13:37 +0200")
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> On 2/7/25 06:58, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé <philmd@linaro.org> writes:
>>
>>> 'info accel' dispatches to the AccelOpsClass::get_stats()
>>> and get_vcpu_stats() handlers.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>> Acked-by: Richard Henderson <richard.henderson@linaro.org>
>>
>> Standard question for new HMP commands that don't wrap around QMP
>> commands: why is the functionality not useful in QMP?
>
> So far the sole use of this command is to prove the 'split accel'
> works by using it in a test:
> https://lore.kernel.org/qemu-devel/20250620172751.94231-43-philmd@linaro.org/
Different series? Best to add new interfaces together with their uses.
> Is it worth overloading QAPI and its documentation, and overload
> the QMP command set (even if prefixing with experimental / hidden 'x-')?
>
> If so, I don't mind implementing yet another "embedded plain HMP string
> to QMP command" in v4, or directly export each debug statistical value
> via QAPI.
Whatever the reasons for implementing something in HMP only may be, the
commit message should state them.
"Just for testing" is a valid reason for HMP-only. It's not obvious
from the command documentation or code, though.
next prev parent reply other threads:[~2025-07-02 12:01 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-01 14:39 [PATCH v3 00/68] accel: Preparatory cleanups for split-accel Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 01/68] system/runstate: Document qemu_add_vm_change_state_handler() Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 02/68] system/cpus: Defer memory layout changes until vCPUs are realized Philippe Mathieu-Daudé
2025-07-02 15:06 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 03/68] system/cpus: Assert interrupt handling is done with BQL locked Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 04/68] accel: Keep reference to AccelOpsClass in AccelClass Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 05/68] accel: Introduce AccelOpsClass::cpu_target_realize() hook Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 06/68] accel/hvf: Add hvf_arch_cpu_realize() stubs Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 07/68] accel/kvm: Remove kvm_init_cpu_signals() stub Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 08/68] accel/kvm: Reduce kvm_create_vcpu() declaration scope Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 09/68] accel: Propagate AccelState to AccelClass::init_machine() Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 10/68] accel/kvm: Prefer local AccelState over global MachineState::accel Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 11/68] accel/hvf: Re-use QOM allocated state Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 12/68] accel/tcg: Prefer local AccelState over global current_accel() Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 13/68] accel: Directly pass AccelState argument to AccelClass::has_memory() Philippe Mathieu-Daudé
2025-07-02 2:45 ` Richard Henderson
2025-07-02 10:35 ` Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 14/68] accel/kvm: Directly pass KVMState argument to do_kvm_create_vm() Philippe Mathieu-Daudé
2025-07-02 2:46 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 15/68] accel: Remove unused MachineState argument of AccelClass::setup_post() Philippe Mathieu-Daudé
2025-07-02 7:17 ` Philippe Mathieu-Daudé
2025-07-02 14:55 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 16/68] accel: Pass AccelState argument to gdbstub_supported_sstep_flags() Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 17/68] accel: Move supports_guest_debug() declaration to AccelClass Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 18/68] accel: Move cpus_are_resettable() " Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 19/68] accel: Move cpu_common_[un]realize() declarations to AccelOpsClass Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 20/68] accel/system: Introduce AccelClass::pre_resume_vm() handler Philippe Mathieu-Daudé
2025-07-02 14:59 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 21/68] accel/whpx: Convert ops::synchronize_pre_resume() -> pre_resume_vm() Philippe Mathieu-Daudé
2025-07-02 7:20 ` Philippe Mathieu-Daudé
2025-07-02 15:01 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 22/68] accel/system: Remove AccelOpsClass::synchronize_pre_resume() Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 23/68] hw/core/machine: Display CPU model name in 'info cpus' command Philippe Mathieu-Daudé
2025-07-02 15:02 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 24/68] accel/system: Add 'info accel' on human monitor Philippe Mathieu-Daudé
2025-07-02 4:58 ` Markus Armbruster
2025-07-02 7:13 ` Philippe Mathieu-Daudé
2025-07-02 12:00 ` Markus Armbruster [this message]
2025-07-02 12:13 ` Daniel P. Berrangé
2025-07-02 13:11 ` Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 25/68] accel/tcg: Factor tcg_dump_flush_info() out Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 26/68] accel/tcg: Implement get_[vcpu]_stats() Philippe Mathieu-Daudé
2025-07-03 7:14 ` Zhao Liu
2025-07-03 14:54 ` Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 27/68] accel/hvf: Implement get_vcpu_stats() Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 28/68] accel/hvf: Report missing com.apple.security.hypervisor entitlement Philippe Mathieu-Daudé
2025-07-02 15:04 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 29/68] accel/hvf: Restrict internal declarations Philippe Mathieu-Daudé
2025-07-02 15:07 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 30/68] accel/hvf: Move per-cpu method declarations to hvf-accel-ops.c Philippe Mathieu-Daudé
2025-07-02 15:07 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 31/68] accel/hvf: Move generic method declarations to hvf-all.c Philippe Mathieu-Daudé
2025-07-02 15:08 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 32/68] cpus: Document CPUState::vcpu_dirty field Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 33/68] accel/hvf: Replace @dirty field by generic " Philippe Mathieu-Daudé
2025-07-02 15:09 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 34/68] accel/nvmm: " Philippe Mathieu-Daudé
2025-07-02 15:09 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 35/68] accel/whpx: " Philippe Mathieu-Daudé
2025-07-02 15:11 ` Richard Henderson
2025-07-02 16:05 ` Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 36/68] accel/kvm: Remove kvm_cpu_synchronize_state() stub Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 37/68] accel/system: Document cpu_synchronize_state() Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 38/68] accel/system: Document cpu_synchronize_state_post_init/reset() Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 39/68] accel/nvmm: Expose nvmm_enabled() to common code Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 40/68] accel/whpx: Expose whpx_enabled() " Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 41/68] accel/system: Introduce hwaccel_enabled() helper Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 42/68] target/arm: Use generic hwaccel_enabled() to check 'host' cpu type Philippe Mathieu-Daudé
2025-07-02 15:12 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 43/68] accel/dummy: Extract 'dummy-cpus.h' header from 'system/cpus.h' Philippe Mathieu-Daudé
2025-07-02 15:13 ` Richard Henderson
2025-07-01 14:39 ` [PATCH v3 44/68] accel/dummy: Factor dummy_thread_precreate() out Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 45/68] accel/tcg: Factor tcg_vcpu_thread_precreate() out Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 46/68] accel: Factor accel_create_vcpu_thread() out Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 47/68] accel: Introduce AccelOpsClass::cpu_thread_routine handler Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 48/68] accel/dummy: Convert to AccelOpsClass::cpu_thread_routine Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 49/68] accel/tcg: " Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 50/68] accel/hvf: " Philippe Mathieu-Daudé
2025-07-01 14:39 ` [PATCH v3 51/68] accel/kvm: " Philippe Mathieu-Daudé
2025-07-01 14:40 ` [PATCH v3 52/68] accel/nvmm: " Philippe Mathieu-Daudé
2025-07-01 14:40 ` [PATCH v3 53/68] accel/whpx: " Philippe Mathieu-Daudé
2025-07-01 14:40 ` [PATCH v3 54/68] accel: Factor accel_cpu_realize() out Philippe Mathieu-Daudé
2025-07-02 15:15 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 55/68] accel/tcg: Factor tcg_vcpu_init() out for re-use Philippe Mathieu-Daudé
2025-07-02 15:16 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 56/68] accel/tcg: Unregister the RCU before exiting RR thread Philippe Mathieu-Daudé
2025-07-02 15:17 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 57/68] accel/tcg: Expose vcpu_[un]register() for MTTCG Philippe Mathieu-Daudé
2025-07-02 15:19 ` Richard Henderson
2025-07-02 18:25 ` Philippe Mathieu-Daudé
2025-07-03 13:27 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 58/68] accel/tcg: Factor mttcg_cpu_exec() out for re-use Philippe Mathieu-Daudé
2025-07-02 15:20 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 59/68] accel/tcg: Expose vcpu_[un]register() for RR Philippe Mathieu-Daudé
2025-07-02 15:24 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 60/68] accel/tcg: Factor rr_cpu_exec() out for re-use Philippe Mathieu-Daudé
2025-07-02 15:37 ` Richard Henderson
2025-07-02 15:39 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 61/68] accel/tcg: Clear exit_request once in tcg_cpu_exec() Philippe Mathieu-Daudé
2025-07-02 15:25 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 62/68] accel/tcg: Add rr_vcpu_destroy() stub Philippe Mathieu-Daudé
2025-07-02 15:34 ` Richard Henderson
2025-07-02 16:28 ` Philippe Mathieu-Daudé
2025-07-01 14:40 ` [PATCH v3 63/68] accel/system: Declare init/exec/destroy vcpu hooks Philippe Mathieu-Daudé
2025-07-02 15:38 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 64/68] accel/tcg: Register " Philippe Mathieu-Daudé
2025-07-01 14:40 ` [PATCH v3 65/68] accel/hvf: " Philippe Mathieu-Daudé
2025-07-02 15:41 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 66/68] accel/system: Pass old/new interrupt mask to handle_interrupt() handler Philippe Mathieu-Daudé
2025-07-02 15:32 ` Richard Henderson
2025-07-01 14:40 ` [PATCH v3 67/68] accel: Have each accelerator implement the handle_interrupt() hook Philippe Mathieu-Daudé
2025-07-02 15:30 ` Richard Henderson
2025-07-02 17:52 ` Philippe Mathieu-Daudé
2025-07-01 14:40 ` [RFC PATCH v3 68/68] system/memory: Restrict eventfd dispatch_write() to emulators Philippe Mathieu-Daudé
2025-07-02 15:43 ` Richard Henderson
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=87ms9myf9a.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=julian.armistead@linaro.org \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=pierrick.bouvier@linaro.org \
--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 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.