[PATCH 0/4] perf c2c: Add function-view stdio support and coverage

Jiebin Sun posted 4 patches 1 month, 1 week ago
tools/perf/Documentation/perf-c2c.txt |  14 +++-
tools/perf/builtin-c2c.c              |  85 +++++++++++++++++--
tools/perf/tests/shell/c2c.sh         | 114 ++++++++++++++++++++++++++
tools/perf/util/c2c-function.c        |   9 +-
tools/perf/util/c2c.h                 |   1 +
5 files changed, 205 insertions(+), 18 deletions(-)
[PATCH 0/4] perf c2c: Add function-view stdio support and coverage
Posted by Jiebin Sun 1 month, 1 week ago
The recently merged function-view series added an interactive TUI for
examining the c2c data as:

  read-side function -> contending writer -> shared cacheline

This follow-up makes the same view available to builds without SLANG and
to pipes and scripts. `perf c2c report --function` now implies stdio and
prints the three-level hierarchy fully expanded. It requires `iaddr` in
the coalescing fields and is rejected together with `--stats`.

The first two patches fix adjacent pre-existing issues: the documented
default coalesce fields are stale, and a workload recording failure in
the existing c2c shell test is incorrectly reported as a pass. The third
patch adds the stdio function view, and the final patch adds automated
coverage using a separate contended futex workload. Systems that record
no contended samples report a skip for the hierarchy checks rather than a
spurious failure.

This series follows the function-view work merged from:

  https://lore.kernel.org/linux-perf-users/20260817094623.3288456-1-jiebin.sun@intel.com/

The series is based on perf-tools-next commit 9453bc6a69ef ("perf vendor
events arm64: Fix Tegra410 Olympus event 0x0197").

Tested with:

  - SLANG and NO_SLANG=1 builds
  - perf test c2c
  - perf test 'import perf'
  - checkpatch.pl --strict on each patch
  - unresolved-symbol checks on the Python perf module

Jiebin Sun (4):
  perf c2c: Fix documented default coalesce fields
  perf tests c2c: Report skip when the workload fails
  perf c2c: Add stdio support for the function view
  perf tests c2c: Add function view stdio coverage

 tools/perf/Documentation/perf-c2c.txt |  14 +++-
 tools/perf/builtin-c2c.c              |  85 +++++++++++++++++--
 tools/perf/tests/shell/c2c.sh         | 114 ++++++++++++++++++++++++++
 tools/perf/util/c2c-function.c        |   9 +-
 tools/perf/util/c2c.h                 |   1 +
 5 files changed, 205 insertions(+), 18 deletions(-)


base-commit: 9453bc6a69ef43755f1c28d5688cacdd69fa16bd
-- 
2.52.0
Re: [PATCH 0/4] perf c2c: Add function-view stdio support and coverage
Posted by Namhyung Kim 4 weeks, 1 day ago
Hello,

On Fri, Aug 21, 2026 at 01:56:07PM +0800, Jiebin Sun wrote:
> The recently merged function-view series added an interactive TUI for
> examining the c2c data as:
> 
>   read-side function -> contending writer -> shared cacheline
> 
> This follow-up makes the same view available to builds without SLANG and
> to pipes and scripts. `perf c2c report --function` now implies stdio and
> prints the three-level hierarchy fully expanded. It requires `iaddr` in
> the coalescing fields and is rejected together with `--stats`.
> 
> The first two patches fix adjacent pre-existing issues: the documented
> default coalesce fields are stale, and a workload recording failure in
> the existing c2c shell test is incorrectly reported as a pass. The third
> patch adds the stdio function view, and the final patch adds automated
> coverage using a separate contended futex workload. Systems that record
> no contended samples report a skip for the hierarchy checks rather than a
> spurious failure.
> 
> This series follows the function-view work merged from:
> 
>   https://lore.kernel.org/linux-perf-users/20260817094623.3288456-1-jiebin.sun@intel.com/
> 
> The series is based on perf-tools-next commit 9453bc6a69ef ("perf vendor
> events arm64: Fix Tegra410 Olympus event 0x0197").
> 
> Tested with:
> 
>   - SLANG and NO_SLANG=1 builds
>   - perf test c2c
>   - perf test 'import perf'
>   - checkpatch.pl --strict on each patch
>   - unresolved-symbol checks on the Python perf module
> 
> Jiebin Sun (4):
>   perf c2c: Fix documented default coalesce fields
>   perf tests c2c: Report skip when the workload fails
>   perf c2c: Add stdio support for the function view
>   perf tests c2c: Add function view stdio coverage

Thanks for doing this!

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung

> 
>  tools/perf/Documentation/perf-c2c.txt |  14 +++-
>  tools/perf/builtin-c2c.c              |  85 +++++++++++++++++--
>  tools/perf/tests/shell/c2c.sh         | 114 ++++++++++++++++++++++++++
>  tools/perf/util/c2c-function.c        |   9 +-
>  tools/perf/util/c2c.h                 |   1 +
>  5 files changed, 205 insertions(+), 18 deletions(-)
> 
> 
> base-commit: 9453bc6a69ef43755f1c28d5688cacdd69fa16bd
> -- 
> 2.52.0
Re: [PATCH 0/4] perf c2c: Add function-view stdio support and coverage
Posted by Arnaldo Melo 4 weeks, 1 day ago

On August 29, 2026 5:05:08 PM GMT-03:00, Namhyung Kim <namhyung@kernel.org> wrote:
>Hello,
>
>On Fri, Aug 21, 2026 at 01:56:07PM +0800, Jiebin Sun wrote:
>> The recently merged function-view series added an interactive TUI for
>> examining the c2c data as:
>> 
>>   read-side function -> contending writer -> shared cacheline
>> 
>> This follow-up makes the same view available to builds without SLANG and
>> to pipes and scripts. `perf c2c report --function` now implies stdio and
>> prints the three-level hierarchy fully expanded. It requires `iaddr` in
>> the coalescing fields and is rejected together with `--stats`.
>> 
>> The first two patches fix adjacent pre-existing issues: the documented
>> default coalesce fields are stale, and a workload recording failure in
>> the existing c2c shell test is incorrectly reported as a pass. The third
>> patch adds the stdio function view, and the final patch adds automated
>> coverage using a separate contended futex workload. Systems that record
>> no contended samples report a skip for the hierarchy checks rather than a
>> spurious failure.
>> 
>> This series follows the function-view work merged from:
>> 
>>   https://lore.kernel.org/linux-perf-users/20260817094623.3288456-1-jiebin.sun@intel.com/
>> 
>> The series is based on perf-tools-next commit 9453bc6a69ef ("perf vendor
>> events arm64: Fix Tegra410 Olympus event 0x0197").
>> 
>> Tested with:
>> 
>>   - SLANG and NO_SLANG=1 builds
>>   - perf test c2c
>>   - perf test 'import perf'
>>   - checkpatch.pl --strict on each patch
>>   - unresolved-symbol checks on the Python perf module
>> 
>> Jiebin Sun (4):
>>   perf c2c: Fix documented default coalesce fields
>>   perf tests c2c: Report skip when the workload fails
>>   perf c2c: Add stdio support for the function view
>>   perf tests c2c: Add function view stdio coverage
>
>Thanks for doing this!
>
>Acked-by: Namhyung Kim <namhyung@kernel.org>


Thanks, I'll try and process this RSN so that the other patchset that Namhyung mentioned may conflict this can be rebased.

- Arnaldo

- Arnaldo
>
>Thanks,
>Namhyung
>
>> 
>>  tools/perf/Documentation/perf-c2c.txt |  14 +++-
>>  tools/perf/builtin-c2c.c              |  85 +++++++++++++++++--
>>  tools/perf/tests/shell/c2c.sh         | 114 ++++++++++++++++++++++++++
>>  tools/perf/util/c2c-function.c        |   9 +-
>>  tools/perf/util/c2c.h                 |   1 +
>>  5 files changed, 205 insertions(+), 18 deletions(-)
>> 
>> 
>> base-commit: 9453bc6a69ef43755f1c28d5688cacdd69fa16bd
>> -- 
>> 2.52.0

- Arnaldo