Re: [PATCH v3] kallsyms: add support for relative offsets in kallsyms address table
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2016-01-22 21:07:22
Also in:
linux-s390, linuxppc-dev, lkml
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2016-01-22 21:07:22
Also in:
linux-s390, linuxppc-dev, lkml
On Fri, 22 Jan 2016 09:20:41 +0100 Ard Biesheuvel [off-list ref] wrote:
quoted
: in half since offsets can typically be expressed in 32 bits. :""" In addition to fixing the broken grammar, would it make sense to mention that dynamic relocation only occurs under CONFIG_RELOCATABLE=y? I.e., something like """ On 64-bit architectures, it cuts the size of the kallsyms address table in half, since offsets between kernel symbols can typically be expressed in 32 bits. This saves several hundreds of kilobytes of permanent .rodata on average. In addition, the kallsyms address table is no longer subject to dynamic relocation when CONFIG_RELOCATABLE is in effect, so the relocation work done after decompression now doesn't have to do relocation updates for all these values. This saves up to 24 bytes (i.e., the size of a ELF64 RELA relocation table entry) per table entry, which easily adds up to a couple of megabytes of uncompressed __init data on ppc64 or arm64. Even if these relocation entries typically compress well, the combined size reduction of 2.8 MB uncompressed for a ppc64_defconfig build (of which 2.4 MB is __init data) results in a ~500 KB space saving in the compressed image. """
Yes, that sounds very good. I'd buy one :) Can you please send along a complete new changelog sometime?