Messages in this thread | | | Date | Tue, 29 Aug 2023 11:07:17 +0530 | Subject | Re: [PATCH v7 0/6] perf record: Track sideband events for all CPUs when tracing selected CPUs | From | Ravi Bangoria <> |
| |
On 26-Aug-23 8:56 AM, Yang Jihong wrote: > User space tasks can migrate between CPUs, track sideband events for all > CPUs.
I've tested this series with simple test program and it mostly works fine.
Tested-by: Ravi Bangoria <ravi.bangoria@amd.com>
Since we are recording sideband data on all cpus, perf will endup recording lots of unnecessary data, esp. on large systems. E.g. on a 128 cpu system:
Without patch: $ sudo ./perf record -C 10 -o perf.data.without -- sleep 10 $ du -d1 -ha ./perf.data.without 3.0M ./perf.data.without
$ sudo ./perf report --stats -i perf.data.without Aggregated stats: TOTAL events: 47011 MMAP events: 51 ( 0.1%) COMM events: 1549 ( 3.3%) EXIT events: 105 ( 0.2%) FORK events: 1544 ( 3.3%) SAMPLE events: 38226 (81.3%) MMAP2 events: 5485 (11.7%) ... cycles:P stats: SAMPLE events: 38226
With patch: $ sudo ./perf record -C 10 -o perf.data.with -- sleep 10 $ du -d1 -ha ./perf.data.with 15M ./perf.data.with
$ sudo ./perf report --stats -i perf.data.with Aggregated stats: TOTAL events: 160164 MMAP events: 51 ( 0.0%) COMM events: 12879 ( 8.0%) EXIT events: 11192 ( 7.0%) FORK events: 12669 ( 7.9%) SAMPLE events: 38464 (24.0%) MMAP2 events: 84844 (53.0%) ... cycles:P stats: SAMPLE events: 38464
Number of actual samples are same ~38K. However, the perf.data file is 5x bigger because of additional sideband data.
I'm pretty sure we don't need most of those additional data. So, thinking loud, should we post-process perf.data file and filter out unnecessary data?
Thanks, Ravi
| |