Re: [PATCH v1 0/6] Thread memory improvements and fixes

From: Ian Rogers
Date: Sun Feb 25 2024 - 13:51:25 EST


On Tue, Feb 13, 2024 at 10:37 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> The next 6 patches from:
> https://lore.kernel.org/lkml/20240202061532.1939474-1-irogers@xxxxxxxxxx/
> now the initial maps fixes have landed:
> https://lore.kernel.org/all/20240210031746.4057262-1-irogers@xxxxxxxxxx/
>
> Separate out and reimplement threads to use a hashmap for lower memory
> consumption and faster look up. The fixes a regression in memory usage
> where reference count checking switched to using non-invasive tree
> nodes. Reduce threads default size by 32 times and improve locking
> discipline. Also, fix regressions where tids had become unordered to
> make `perf report --tasks` and `perf trace --summary` output easier to
> read.
>
> Ian Rogers (6):
> perf report: Sort child tasks by tid
> perf trace: Ignore thread hashing in summary
> perf machine: Move fprintf to for_each loop and a callback
> perf threads: Move threads to its own files
> perf threads: Switch from rbtree to hashmap
> perf threads: Reduce table size from 256 to 8
>
> tools/perf/builtin-report.c | 203 ++++++++-------
> tools/perf/builtin-trace.c | 41 +--
> tools/perf/util/Build | 1 +
> tools/perf/util/bpf_lock_contention.c | 8 +-
> tools/perf/util/machine.c | 344 +++++++-------------------
> tools/perf/util/machine.h | 30 +--
> tools/perf/util/rb_resort.h | 5 -
> tools/perf/util/thread.c | 2 +-
> tools/perf/util/thread.h | 6 -
> tools/perf/util/threads.c | 186 ++++++++++++++
> tools/perf/util/threads.h | 35 +++
> 11 files changed, 464 insertions(+), 397 deletions(-)
> create mode 100644 tools/perf/util/threads.c
> create mode 100644 tools/perf/util/threads.h

Arnaldo/Namhyung, anything outstanding that needs addressing in a v2?
I'm looking for reviewed-by/acked-by tags :-)

Thanks,
Ian

> --
> 2.43.0.687.g38aa6559b0-goog
>