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

From: Ian Rogers
Date: Wed Dec 06 2023 - 21:16:35 EST


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