[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <93abb0e0-1691-a887-f7b2-7591f83a8618@huawei.com>
Date: Tue, 29 Aug 2023 17:34:59 +0800
From: Yang Jihong <yangjihong1@...wei.com>
To: Ravi Bangoria <ravi.bangoria@....com>, <acme@...nel.org>,
<irogers@...gle.com>, <jolsa@...nel.org>, <namhyung@...nel.org>,
<adrian.hunter@...el.com>
CC: <peterz@...radead.org>, <mingo@...hat.com>, <mark.rutland@....com>,
<alexander.shishkin@...ux.intel.com>, <kan.liang@...ux.intel.com>,
<james.clark@....com>, <tmricht@...ux.ibm.com>,
<ak@...ux.intel.com>, <anshuman.khandual@....com>,
<linux-kernel@...r.kernel.org>, <linux-perf-users@...r.kernel.org>
Subject: Re: [PATCH v7 0/6] perf record: Track sideband events for all CPUs
when tracing selected CPUs
Hello,
On 2023/8/29 13:37, Ravi Bangoria wrote:
> 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@....com>
>
Thanks for the test.
> 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.
Yes, if record system wide sideband data, the amount of sideband events
will increase proportionally, which is expected.
>
> 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?
>
I wonder if we can add a new function in perf inject.
By reading perf.data and comparing tid of SAMPLE events and sideband
events, we can filter out the sideband data of unmatched tasks.
That's just my idea, or there's another better solution.
Thanks,
Yang
Powered by blists - more mailing lists