Re: [PATCH v5] x86: Avoid relocation information in final vmlinux

From: Dave Hansen
Date: Mon Mar 20 2023 - 16:12:21 EST


On 3/20/23 05:10, Petr Pavlu wrote:
> The issue is then that the collected vmlinux file and hence distribution
> packages end up unnecessarily large because of this extra data. The
> following is a size comparison of vmlinux v6.0 with and without the
> relocation information:
> | Configuration | With relocs | Stripped relocs |
> | x86_64_defconfig | 70 MB | 43 MB |
> | +CONFIG_DEBUG_INFO | 818 MB | 367 MB |
>
> Optimize a resulting vmlinux by adding a postlink step that splits the
> relocation information into vmlinux.relocs and then strips it from the
> vmlinux binary.

When I saw that this adds a postlink step, I read that as, "adds another
step to the unbearably slow single-threaded part of kernel builds". :)

But, here's one data point that made me feel a lot better. Using a
random .config:

> https://sr71.net/~dave/intel/config-reloctest

the builds get a _bit_ slower, going from 37.0s->37.7s. This is pretty
arbitrary of course, using my compiler on my hardware, so YMMV. But,
for me, this seems like a reasonable tradeoff given the space savings.

I'd be curious what other people are seeing.