Andi, thanks for pointing out the perf script issues. Can you please elaborate a bit on the exact issue you have seen? We’ve been using specific output of perf script such as mmap, LBR and callstack events filtered by process id. It works fine so far but may certainly hit issues in the future with extended uses.
Thanks, Hongtao From: Xinliang David Li <[email protected]> Date: Monday, April 26, 2021 at 11:05 AM To: Andi Kleen <[email protected]> Cc: Jan Hubicka <[email protected]>, [email protected] <[email protected]>, Wei Mi <[email protected]>, Eugene Rozenfeld <[email protected]>, Wenlei He <[email protected]>, Hongtao Yu <[email protected]> Subject: Re: State of AutoFDO in GCC On Mon, Apr 26, 2021 at 11:00 AM Andi Kleen <[email protected]<mailto:[email protected]>> wrote: > There are multiple directional changes in this new tool: > 1) it uses perf-script trace output (in text) as input profile data; I suspect this will break regularly too (I personally did numerous changes to perf script output, and also wrote a lot of parsing scripts) The perf script output has some bad problems, e.g. for file names or processes with spaces and some other issues. To make it handleable would need some redesign to actually generate in a machine friendly format. Andi, thanks for the input. +authors of the llvm-profgen tool for their experience with using perf script output. David A perf.data parser should be fine, just don't fill it up with asserts and "be liberal what you accept" and ignore unknown records. -Andi
