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

From: Ian Rogers
Date: Tue Jan 02 2024 - 21:59:21 EST


On Wed, Dec 6, 2023 at 6:16 PM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> Reduce from PERF_SAMPLE_MAX_SIZE to "sizeof(*lost) +
> session->machines.host.id_hdr_size".
>
> Suggested-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

Ping.

Thanks,
Ian

> ---
> 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
>