Re: [PATCH v2 0/8] objtool: reduce maximum memory usage
From: Thomas Weißschuh
Date: Sun Jan 29 2023 - 16:43:50 EST
On Tue, Dec 27, 2022 at 04:00:57PM +0000, Thomas Weißschuh wrote:
> The processing of vmlinux.o with objtool is the most memory-intensive step
> of a kernel build. By reducing the maximum memory usage here we can reduce
> the maximum memory usage of the whole kernel build.
> Therefore memory pressure on memory starved machines is relieved during
> kernel builds and the build is faster as less swapping has to occur.
Friendly ping.
These patches can also applied one by one, the only dependency is from
patch 5 to patch 4.
Thanks,
Thomas
> To: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> To: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
>
> ---
> Changes in v2:
> - Warn on out of range values for reloc->type
> - Also reduce size of struct special_alt
> - Note: v1 did not make it to the lists, only to individual recipients
>
> ---
> Thomas Weißschuh (8):
> objtool: make struct entries[] static and const
> objtool: make struct check_options static
> objtool: allocate multiple structures with calloc()
> objtool: introduce function elf_reloc_set_type
> objtool: reduce memory usage of struct reloc
> objtool: optimize layout of struct symbol
> objtool: optimize layout of struct special_alt
> objtool: explicitly cleanup resources on success
>
> tools/objtool/builtin-check.c | 4 ++-
> tools/objtool/check.c | 6 ++--
> tools/objtool/elf.c | 56 +++++++++++++++++++--------------
> tools/objtool/include/objtool/builtin.h | 2 --
> tools/objtool/include/objtool/elf.h | 13 +++++---
> tools/objtool/include/objtool/special.h | 2 +-
> tools/objtool/special.c | 6 ++--
> 7 files changed, 51 insertions(+), 38 deletions(-)
> ---
> base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
> change-id: 20221216-objtool-memory-06db3b8bf111
>
> Best regards,
> --
> Thomas Weißschuh <linux@xxxxxxxxxxxxxx>