Re: [PATCH v9 0/6] add support for relative references in special sections

From
Michael Ellerman <mpe@ellerman.id.au>
Date
2018-06-27 05:34:01
Also in
linux-arm-kernel, lkml
Reply to
Ard Biesheuvel, 2018-06-26
Ard Biesheuvel [off-list ref] writes:
This adds support for emitting special sections such as initcall arrays,
PCI fixups and tracepoints as relative references rather than absolute
references. This reduces the size by 50% on 64-bit architectures, but
more importantly, it removes the need for carrying relocation metadata
for these sections in relocatable kernels (e.g., for KASLR) that needs
to be fixed up at boot time. On arm64, this reduces the vmlinux footprint
of such a reference by 8x (8 byte absolute reference + 24 byte RELA entry
vs 4 byte relative reference)
...
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Kees Cook <redacted>
Cc: Will Deacon <redacted>
Cc: Michael Ellerman <mpe@ellerman.id.au>
This seems to be working on powerpc.

It boots on a couple of machines with no obvious badness.

And there's some size reduction with a random config I had lying around:

  Total: Before=14820494, After=14673313, chg -0.99%


It can get some more testing once it's in linux-next as far as I'm
concerned.

  Acked-by: Michael Ellerman [off-list ref] (powerpc)

cheers
Thread (17 messages) 17 messages, 8 authors, last reply 2018-07-03
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help