Messages in this thread | | | Date | Mon, 12 Jun 2023 16:01:59 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH v1 0/4] Avoid some large stack allocations |
| |
Em Fri, May 26, 2023 at 08:43:18PM -0700, Ian Rogers escreveu: > Following on cleaning up .data and .bss in: > https://lore.kernel.org/lkml/20230526183401.2326121-1-irogers@google.com/ > Look for some probably too large stack allocations with -Wstack-usage=20000 > and pahole.
Thanks, applied.
- Arnaldo
> Don't attempt to cleanup variable length arrays like in: > ``` > util/header.c: In function ‘write_cache’: > util/header.c:1269:12: warning: stack usage might be unbounded [-Wstack-usage=] > 1269 | static int write_cache(struct feat_fd *ff, > | ^~~~~~~~~~~ > ``` > > Also leave two allocations relating to session/event processing: > ``` > util/auxtrace.c: In function ‘auxtrace_queues__add_indexed_event’: > util/auxtrace.c:424:12: warning: stack usage is 65616 bytes [-Wstack-usage=] > 424 | static int auxtrace_queues__add_indexed_event(struct auxtrace_queues *queues, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > util/session.c: In function ‘perf_session__peek_events’: > util/session.c:1822:5: warning: stack usage is 65648 bytes [-Wstack-usage=] > 1822 | int perf_session__peek_events(struct perf_session *session, u64 offset, > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > ``` > > The biggest win is for perf inject where 128kb becomes lazily > allocated when aux or guest data is encountered. > > Ian Rogers (4): > perf sched: Avoid large stack allocations > perf script: Remove some large stack allocations > perf inject: Lazily allocate event_copy > perf inject: Lazily allocate guest_event event_buf > > tools/perf/builtin-inject.c | 31 +++++++++++++++++++++++++------ > tools/perf/builtin-sched.c | 26 ++++++++++++++++++++++---- > tools/perf/builtin-script.c | 17 +++++++++++++---- > 3 files changed, 60 insertions(+), 14 deletions(-) > > -- > 2.41.0.rc0.172.g3f132b7071-goog >
--
- Arnaldo
| |