[PATCH v3 01/12] perf script: Make printing flags reliable
Leo Yan
leo.yan at arm.com
Mon Mar 3 10:11:52 PST 2025
On Mon, Mar 03, 2025 at 05:05:13PM +0200, Adrian Hunter wrote:
[...]
> >>> + ret = max(ret, SAMPLE_FLAGS_STR_ALIGNED_SIZE);
> >>> + return fprintf(fp, " %-*s ", ret, str);
> >>
> >> -21 means the field width is 21 and left-justified. It should not
> >> truncate the string.
> >
> > No, it does not truncate the string.
> >
> > It calculates a maximum value between the returned length and 21 (
> > defined in SAMPLE_FLAGS_STR_ALIGNED_SIZE). It keeps left-justified and
> > can printing a complete string if the string length is bigger than 21.
>
> Maybe I am missing something, but that isn't that what
>
> return fprintf(fp, " %-21s ", str);
>
> does anyway? Why change it to something more complicated.
You are right. I should have done an experiment for this.
I will remove the max() sentence and update the last line:
return fprintf(fp, " %-*s ", SAMPLE_FLAGS_STR_ALIGNED_SIZE, str);
Another option is to drop this patch. But I prefer to keep it, the
reason is except the benefit for the debugging log, an extra reason is
the SAMPLE_FLAGS_STR_ALIGNED_SIZE macro is used to replace the opened
value '21'. The macro also will be used by a later patch for
right-alignment printing. How about you think?
Thanks,
Leo
More information about the linux-arm-kernel
mailing list