Re: [PATCH v1] perf record: Reduce memory for recording lost samples event

From: Arnaldo Carvalho de Melo
Date: Wed Jan 03 2024 - 11:45:49 EST


Em Wed, Dec 06, 2023 at 06:16:27PM -0800, Ian Rogers escreveu:
> Reduce from PERF_SAMPLE_MAX_SIZE to "sizeof(*lost) +
> session->machines.host.id_hdr_size".
>
> Suggested-by: Namhyung Kim <namhyung@xxxxxxxxxx>


Thanks, applied to perf-tools-next.

- Arnaldo


> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> ---
> Suggested in:
> https://lore.kernel.org/lkml/CAM9d7cjpYHN_Q63sW70vTCisdW=-SzjsrryUUJjgtZ3+9jdxfA@xxxxxxxxxxxxxx/
> ---
> tools/perf/builtin-record.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index eb5a398ddb1d..206110fc2799 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -1954,7 +1954,8 @@ static void record__read_lost_samples(struct record *rec)
>
> if (count.lost) {
> if (!lost) {
> - lost = zalloc(PERF_SAMPLE_MAX_SIZE);
> + lost = zalloc(sizeof(*lost) +
> + session->machines.host.id_hdr_size);
> if (!lost) {
> pr_debug("Memory allocation failed\n");
> return;
> @@ -1970,7 +1971,8 @@ static void record__read_lost_samples(struct record *rec)
> lost_count = perf_bpf_filter__lost_count(evsel);
> if (lost_count) {
> if (!lost) {
> - lost = zalloc(PERF_SAMPLE_MAX_SIZE);
> + lost = zalloc(sizeof(*lost) +
> + session->machines.host.id_hdr_size);
> if (!lost) {
> pr_debug("Memory allocation failed\n");
> return;
> --
> 2.43.0.rc2.451.g8631bc7472-goog
>

--

- Arnaldo