lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ