Re: [PATCH V6 06/16] perf script: Use ULL for enum perf_output_field

Liang, Kan
2020-08-12T13:42:28Z

On 8/12/2020 8:21 AM, Arnaldo Carvalho de Melo wrote:
> Em Mon, Aug 10, 2020 at 02:24:26PM -0700, Kan Liang escreveu:
>> The Bitwise-Shift operator (1U << ) is used in the enum
>> perf_output_field, which has already reached its capacity (32 items).
>> If more items are added, a compile error will be triggered.
>>
>> Change the U to ULL, which extend the capacity to 64 items.
>>
>> The enum perf_output_field is only used to calculate a value for the
>> 'fields' in the output structure. The 'fields' is u64. The change
>> doesn't break anything.
>
> Jiri did this already:
>
> https://git.kernel.org/torvalds/c/60e5eeb56a1

Thanks for pointing it out.

I will rebase the code on top of it.

Thanks,
Kan

>
>> Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
>> ---
>> tools/perf/builtin-script.c | 64 ++++++++++++++++++-------------------
>> 1 file changed, 32 insertions(+), 32 deletions(-)
>>
>> diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
>> index 447457786362..214bec350971 100644
>> --- a/tools/perf/builtin-script.c
>> +++ b/tools/perf/builtin-script.c
>> @@ -82,38 +82,38 @@ static bool native_arch;
>> unsigned int scripting_max_stack = PERF_MAX_STACK_DEPTH;
>>
>> enum perf_output_field {
>> - PERF_OUTPUT_COMM = 1U << 0,
>> - PERF_OUTPUT_TID = 1U << 1,
>> - PERF_OUTPUT_PID = 1U << 2,
>> - PERF_OUTPUT_TIME = 1U << 3,
>> - PERF_OUTPUT_CPU = 1U << 4,
>> - PERF_OUTPUT_EVNAME = 1U << 5,
>> - PERF_OUTPUT_TRACE = 1U << 6,
>> - PERF_OUTPUT_IP = 1U << 7,
>> - PERF_OUTPUT_SYM = 1U << 8,
>> - PERF_OUTPUT_DSO = 1U << 9,
>> - PERF_OUTPUT_ADDR = 1U << 10,
>> - PERF_OUTPUT_SYMOFFSET = 1U << 11,
>> - PERF_OUTPUT_SRCLINE = 1U << 12,
>> - PERF_OUTPUT_PERIOD = 1U << 13,
>> - PERF_OUTPUT_IREGS = 1U << 14,
>> - PERF_OUTPUT_BRSTACK = 1U << 15,
>> - PERF_OUTPUT_BRSTACKSYM = 1U << 16,
>> - PERF_OUTPUT_DATA_SRC = 1U << 17,
>> - PERF_OUTPUT_WEIGHT = 1U << 18,
>> - PERF_OUTPUT_BPF_OUTPUT = 1U << 19,
>> - PERF_OUTPUT_CALLINDENT = 1U << 20,
>> - PERF_OUTPUT_INSN = 1U << 21,
>> - PERF_OUTPUT_INSNLEN = 1U << 22,
>> - PERF_OUTPUT_BRSTACKINSN = 1U << 23,
>> - PERF_OUTPUT_BRSTACKOFF = 1U << 24,
>> - PERF_OUTPUT_SYNTH = 1U << 25,
>> - PERF_OUTPUT_PHYS_ADDR = 1U << 26,
>> - PERF_OUTPUT_UREGS = 1U << 27,
>> - PERF_OUTPUT_METRIC = 1U << 28,
>> - PERF_OUTPUT_MISC = 1U << 29,
>> - PERF_OUTPUT_SRCCODE = 1U << 30,
>> - PERF_OUTPUT_IPC = 1U << 31,
>> + PERF_OUTPUT_COMM = 1ULL << 0,
>> + PERF_OUTPUT_TID = 1ULL << 1,
>> + PERF_OUTPUT_PID = 1ULL << 2,
>> + PERF_OUTPUT_TIME = 1ULL << 3,
>> + PERF_OUTPUT_CPU = 1ULL << 4,
>> + PERF_OUTPUT_EVNAME = 1ULL << 5,
>> + PERF_OUTPUT_TRACE = 1ULL << 6,
>> + PERF_OUTPUT_IP = 1ULL << 7,
>> + PERF_OUTPUT_SYM = 1ULL << 8,
>> + PERF_OUTPUT_DSO = 1ULL << 9,
>> + PERF_OUTPUT_ADDR = 1ULL << 10,
>> + PERF_OUTPUT_SYMOFFSET = 1ULL << 11,
>> + PERF_OUTPUT_SRCLINE = 1ULL << 12,
>> + PERF_OUTPUT_PERIOD = 1ULL << 13,
>> + PERF_OUTPUT_IREGS = 1ULL << 14,
>> + PERF_OUTPUT_BRSTACK = 1ULL << 15,
>> + PERF_OUTPUT_BRSTACKSYM = 1ULL << 16,
>> + PERF_OUTPUT_DATA_SRC = 1ULL << 17,
>> + PERF_OUTPUT_WEIGHT = 1ULL << 18,
>> + PERF_OUTPUT_BPF_OUTPUT = 1ULL << 19,
>> + PERF_OUTPUT_CALLINDENT = 1ULL << 20,
>> + PERF_OUTPUT_INSN = 1ULL << 21,
>> + PERF_OUTPUT_INSNLEN = 1ULL << 22,
>> + PERF_OUTPUT_BRSTACKINSN = 1ULL << 23,
>> + PERF_OUTPUT_BRSTACKOFF = 1ULL << 24,
>> + PERF_OUTPUT_SYNTH = 1ULL << 25,
>> + PERF_OUTPUT_PHYS_ADDR = 1ULL << 26,
>> + PERF_OUTPUT_UREGS = 1ULL << 27,
>> + PERF_OUTPUT_METRIC = 1ULL << 28,
>> + PERF_OUTPUT_MISC = 1ULL << 29,
>> + PERF_OUTPUT_SRCCODE = 1ULL << 30,
>> + PERF_OUTPUT_IPC = 1ULL << 31,
>> };
>>
>> struct output_option {
>> --
>> 2.17.1
>>
>