linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/7] Thread memory improvements and fixes
@ 2024-02-29  6:32 Ian Rogers
  2024-02-29  6:32 ` [PATCH v3 1/7] perf report: Sort child tasks by tid Ian Rogers
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Ian Rogers @ 2024-02-29  6:32 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Namhyung Kim, Mark Rutland, Alexander Shishkin, Jiri Olsa,
	Ian Rogers, Adrian Hunter, Oliver Upton, Yang Jihong,
	linux-kernel, linux-perf-users

The next 6 patches (now 7) from:
https://lore.kernel.org/lkml/20240202061532.1939474-1-irogers@google.com/
now the initial maps fixes have landed:
https://lore.kernel.org/all/20240210031746.4057262-1-irogers@google.com/

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.

v3. Factor threads out of machine in 1 patch, then move threads
    functions in a second.
v2: improve comments and a commit message.

Ian Rogers (7):
  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 machine: Move machine's threads into its own abstraction
  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           | 217 +++++++++-------
 tools/perf/builtin-trace.c            |  41 ++--
 tools/perf/util/Build                 |   1 +
 tools/perf/util/bpf_lock_contention.c |   4 +-
 tools/perf/util/machine.c             | 341 +++++++-------------------
 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, 474 insertions(+), 394 deletions(-)
 create mode 100644 tools/perf/util/threads.c
 create mode 100644 tools/perf/util/threads.h

-- 
2.44.0.278.ge034bb2e1d-goog


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-03-01  5:03 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-29  6:32 [PATCH v3 0/7] Thread memory improvements and fixes Ian Rogers
2024-02-29  6:32 ` [PATCH v3 1/7] perf report: Sort child tasks by tid Ian Rogers
2024-02-29  6:32 ` [PATCH v3 2/7] perf trace: Ignore thread hashing in summary Ian Rogers
2024-02-29  6:32 ` [PATCH v3 3/7] perf machine: Move fprintf to for_each loop and a callback Ian Rogers
2024-02-29  6:32 ` [PATCH v3 4/7] perf machine: Move machine's threads into its own abstraction Ian Rogers
2024-03-01  1:36   ` Namhyung Kim
2024-03-01  5:02     ` Ian Rogers
2024-02-29  6:32 ` [PATCH v3 5/7] perf threads: Move threads to its own files Ian Rogers
2024-02-29  6:32 ` [PATCH v3 6/7] perf threads: Switch from rbtree to hashmap Ian Rogers
2024-02-29  6:32 ` [PATCH v3 7/7] perf threads: Reduce table size from 256 to 8 Ian Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).