[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v17 16/16] accel/tcg: Dump hot TBs at the end of the executio
|
From: |
Alex Bennée |
|
Subject: |
Re: [PATCH v17 16/16] accel/tcg: Dump hot TBs at the end of the execution |
|
Date: |
Tue, 10 Oct 2023 14:23:25 +0100 |
|
User-agent: |
mu4e 1.11.22; emacs 29.1.50 |
Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> On 3/10/23 20:30, Richard Henderson wrote:
>> From: Fei Wu <fei2.wu@intel.com>
>> Dump the hottest TBs if -d
>> tb_stats:{all,jit,exec}[:dump_num_at_exit]
>> Signed-off-by: Fei Wu <fei2.wu@intel.com>
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>> bsd-user/bsd-proc.h | 2 ++
>> include/tcg/tb-stats.h | 10 +++++++++-
>> accel/tcg/monitor.c | 8 +++++---
>> accel/tcg/tb-stats.c | 27 ++++++++++++++++++++++++++-
>> linux-user/exit.c | 10 ++++++----
>> softmmu/runstate.c | 2 ++
>> stubs/tb-stats.c | 6 +++++-
>> util/log.c | 20 ++++++++++++++++----
>> 8 files changed, 71 insertions(+), 14 deletions(-)
>
>
>> diff --git a/softmmu/runstate.c b/softmmu/runstate.c
>> index 1652ed0439..2c6fb9bff1 100644
>> --- a/softmmu/runstate.c
>> +++ b/softmmu/runstate.c
>> @@ -59,6 +59,7 @@
>> #include "sysemu/runstate-action.h"
>> #include "sysemu/sysemu.h"
>> #include "sysemu/tpm.h"
>> +#include "tcg/tb-stats.h"
>> #include "trace.h"
>> static NotifierList exit_notifiers =
>> @@ -846,6 +847,7 @@ void qemu_cleanup(void)
>> /* No more vcpu or device emulation activity beyond this point */
>> vm_shutdown();
>> replay_finish();
>> + tb_stats_dump_atexit();
>> /*
>> * We must cancel all block jobs while the block layer is drained,
>> diff --git a/stubs/tb-stats.c b/stubs/tb-stats.c
>> index ceaa1622ce..f9e4ef5d04 100644
>> --- a/stubs/tb-stats.c
>> +++ b/stubs/tb-stats.c
>> @@ -11,6 +11,10 @@
>> #include "qemu/osdep.h"
>> #include "tcg/tb-stats.h"
>> -void tb_stats_init(uint32_t flags)
>> +void tb_stats_init(uint32_t flags, uint32_t atexit)
>> +{
>> +}
>> +
>> +void tb_stats_dump_atexit(void)
>> {
>> }
>
> The stub isn't needed using:
>
> -- >8 --
> diff --git a/softmmu/runstate.c b/softmmu/runstate.c
> index 2c6fb9bff1..d05e2b8e1c 100644
> --- a/softmmu/runstate.c
> +++ b/softmmu/runstate.c
> @@ -52,6 +52,7 @@
> #include "qom/object.h"
> #include "qom/object_interfaces.h"
> #include "sysemu/cpus.h"
> +#include "sysemu/tcg.h"
> #include "sysemu/qtest.h"
> #include "sysemu/replay.h"
> #include "sysemu/reset.h"
> @@ -847,7 +848,9 @@ void qemu_cleanup(void)
> /* No more vcpu or device emulation activity beyond this point */
> vm_shutdown();
> replay_finish();
> - tb_stats_dump_atexit();
> + if (tcg_enabled()) {
> + tb_stats_dump_atexit();
> + }
Why be different from replay_finish() which is a stub?
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
- [PATCH v17 12/16] softmmu: Export qemu_ram_ptr_length, (continued)
- [PATCH v17 12/16] softmmu: Export qemu_ram_ptr_length, Richard Henderson, 2023/10/03
- [PATCH v17 13/16] disas: Allow monitor_disas to read from ram_addr_t, Richard Henderson, 2023/10/03
- [PATCH v17 10/16] util/log: Add -d tb_stats, Richard Henderson, 2023/10/03
- [PATCH v17 14/16] monitor: Change MonitorDec.get_value return type to int64_t, Richard Henderson, 2023/10/03
- [PATCH v17 15/16] accel/tcg: Add info [tb-list|tb] commands to HMP, Richard Henderson, 2023/10/03
- [PATCH v17 16/16] accel/tcg: Dump hot TBs at the end of the execution, Richard Henderson, 2023/10/03
- [PATCH v17 09/16] util/log: Add Error argument to qemu_str_to_log_mask, Richard Henderson, 2023/10/03