public inbox for dwarves@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH dwarves] btf_encoder: use ELF_C_READ_MMAP
@ 2024-10-14 10:31 Alan Maguire
  2024-10-14 16:21 ` Ihor Solodrai
  2024-10-18 12:59 ` Arnaldo Carvalho de Melo
  0 siblings, 2 replies; 3+ messages in thread
From: Alan Maguire @ 2024-10-14 10:31 UTC (permalink / raw)
  To: acme; +Cc: ihor.solodrai, eddyz87, dwarves, Alan Maguire

This reduces peak memory utilization during BTF vmlinux encoding,
replacing ELF section-sized malloc()s with mmap()s.

For -j1 peak memory resident set size drops from

        Maximum resident set size (kbytes): 1069220

...to:

        Maximum resident set size (kbytes): 701888

...with this patch.

For -j8, peak memory resident set size drops from

        Maximum resident set size (kbytes): 1121172

...to:

        Maximum resident set size (kbytes): 963516

Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
---
 btf_encoder.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/btf_encoder.c b/btf_encoder.c
index 5954238..9599faf 100644
--- a/btf_encoder.c
+++ b/btf_encoder.c
@@ -1879,7 +1879,7 @@ static int btf_encoder__tag_kfuncs(struct btf_encoder *encoder)
 		goto out;
 	}
 
-	elf = elf_begin(fd, ELF_C_READ, NULL);
+	elf = elf_begin(fd, ELF_C_READ_MMAP, NULL);
 	if (elf == NULL) {
 		elf_error("Cannot update ELF file");
 		goto out;
-- 
2.43.5


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

end of thread, other threads:[~2024-10-18 12:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-14 10:31 [PATCH dwarves] btf_encoder: use ELF_C_READ_MMAP Alan Maguire
2024-10-14 16:21 ` Ihor Solodrai
2024-10-18 12:59 ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox