Re: perf tools: remove option --tail-synthesize ?

From: Song Liu
Date: Thu Nov 22 2018 - 13:18:52 EST




> On Nov 21, 2018, at 5:50 PM, Wangnan (F) <wangnan0@xxxxxxxxxx> wrote:
>
>
>
> On 2018/11/21 21:11, Arnaldo Carvalho de Melo wrote:
>> Em Wed, Nov 21, 2018 at 07:45:28AM +0000, Song Liu escreveu:
>>> Hi,
>>>
>>> I found perf-record --tail-synthesize without --overwrite breaks symbols
>>> for perf-script, perf-report, etc. For example:
>>>
>>> [root@]# ~/perf record -ag --tail-synthesize -- sleep 1
>>> [ perf record: Woken up 1 times to write data ]
>>> [ perf record: Captured and wrote 1.129 MB perf.data (3531 samples) ]
>>> [root@]# ~/perf script | head
>>> swapper 0 [000] 1250675.051971: 1 cycles:ppp:
>>> ffffffff81009e15 [unknown] ([unknown])
>>> ffffffff81196b19 [unknown] ([unknown])
>>> ffffffff81196579 [unknown] ([unknown])
>>> ffffffff81110ca7 [unknown] ([unknown])
>>> ffffffff81a01f4a [unknown] ([unknown])
>>> ffffffff81a017bf [unknown] ([unknown])
>>> ffffffff8180e17a [unknown] ([unknown])
>>>
>>> perf-record with --overwrite does NOT have this issue.
>>>
>>> After digging into this, I found this issue is introduced by commit
>>> a73e24d240bc136619d382b1268f34d75c9d25ce.
>>>
>>> Reverting this commit does fix this issue. However, on a second thought,
>>> I feel it is probably better just drop --tail-synthesize, as it doesn't
>>> make much sense without --overwrite. All we need is to do tail_synthesize
>>> when --overwrite is set.
>>>
>
> Some cases we use --overwrite without --tail-synthesize. How about setting
> --tail-synthesize when selecting --overwrite by default, throw a warning
> when --overwrite is not set and leave a --no-tail-synthesize option?
>

--overwrite implies --tail-synthesize. So with --overwrite, it is always
tail-synthesize. Do we really need --overwrite and --no-tail-synthesize?
If not, we can probably just drop --tail-synthesize (or mark it as
deprecated)?

Thanks,
Song