[PATCH dwarves] btf_encoder: use ELF_C_READ_MMAP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux