[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics
|
From: |
Wu, Fei |
|
Subject: |
Re: [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics |
|
Date: |
Tue, 30 May 2023 13:01:06 +0800 |
|
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 |
On 5/30/2023 12:07 PM, Richard Henderson wrote:
> On 5/29/23 04:49, Fei Wu wrote:
>> +/*
>> + * The TCGProfile structure holds data for analysing the quality of
>> + * the code generation. The data is split between stuff that is valid
>> + * for the lifetime of a single translation and things that are valid
>> + * for the lifetime of the translator. As the former is reset for each
>> + * new translation so it should be copied elsewhere if you want to
>> + * keep it.
>> + *
>> + * The structure is safe to access within the context of translation
>> + * but accessing the data from elsewhere should be done with safe
>> + * work.
>> + */
>> +typedef struct TCGProfile {
>> +
>> + struct {
>> + int nb_guest_insns;
>> + int nb_spills;
>> + int nb_ops_pre_opt;
>> +
>> + int del_op_count;
>> + int temp_count;
>> + } translation;
>> +
>> + int64_t cpu_exec_time;
>> + int64_t op_count; /* total insn count */
>> + int64_t code_in_len;
>> + int64_t code_out_len;
>> + int64_t search_out_len;
>> +
>> + /* Timestamps during translation */
>> + uint64_t gen_start_time;
>> + uint64_t gen_ir_done_time;
>> + uint64_t gen_opt_done_time;
>> + uint64_t gen_la_done_time;
>> + uint64_t gen_code_done_time;
>> +
>> + /* Lifetime count of TCGOps per TCGContext */
>> + uint64_t table_op_count[NB_OPS];
>> +} TCGProfile;
>> +
>
> Why have you added this back?
>
> The whole point of removing CONFIG_PROFILE to begin was to have all new
> code. Not to remove it then reintroduce it unchanged.
>
> In tcg_gen_code, you have access to the TranslationBlock as s->gen_tb.
> There is zero point to accumulating into TCGProfile, when you could be
> accumulating into TCGStatistics directly.
>
TCGProfile contains global wide (per TCGContext) stats, but TBStatistics
is TB specific, some info in TCGProfile such as table_op_count is not
able to be summed up from TBStatistics. The per-translation stats in
TCGProfile may be removed indeed.
Thanks,
Fei.
>
> r~
- [PATCH v13 00/10] TCG code quality tracking, Fei Wu, 2023/05/29
- [PATCH v13 01/10] accel/tcg: remove CONFIG_PROFILER, Fei Wu, 2023/05/29
- [PATCH v13 02/10] accel/tcg: introduce TBStatistics structure, Fei Wu, 2023/05/29
- [PATCH v13 03/10] accel: collecting TB execution count, Fei Wu, 2023/05/29
- [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics, Fei Wu, 2023/05/29
- Re: [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics, Richard Henderson, 2023/05/30
- Re: [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics,
Wu, Fei <=
- Re: [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics, Wu, Fei, 2023/05/30
- Re: [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics, Alex Bennée, 2023/05/30
- Re: [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics, Wu, Fei, 2023/05/30
- Re: [PATCH v13 04/10] accel/tcg: add jit stats and time to TBStatistics, Wu, Fei, 2023/05/30
[PATCH v13 06/10] monitor: adding tb_stats hmp command, Fei Wu, 2023/05/29
[PATCH v13 05/10] debug: add -d tb_stats to control TBStatistics collection:, Fei Wu, 2023/05/29
[PATCH v13 07/10] tb-stats: reset the tracked TBs on a tb_flush, Fei Wu, 2023/05/29
[PATCH v13 08/10] Adding info [tb-list|tb] commands to HMP (WIP), Fei Wu, 2023/05/29
[PATCH v13 09/10] tb-stats: dump hot TBs at the end of the execution, Fei Wu, 2023/05/29
[PATCH v13 10/10] docs: add tb-stats how to, Fei Wu, 2023/05/29