Re: [RFC][PATCH] ftrace,objtool: PC32 based __mcount_loc

From: Mark Rutland
Date: Thu Jun 23 2022 - 10:21:37 EST


On Wed, Jun 22, 2022 at 10:54:36AM -0400, Steven Rostedt wrote:
> On Fri, 17 Jun 2022 12:40:00 +0100
> Mark Rutland <mark.rutland@xxxxxxx> wrote:
>
> > We have a similar issue on arm64, which is exacerbated by needing ABS64
> > relocations (24 bytes per entry!) adding significant bloat when FTRACE is
> > enabled.
>
> I have patches that bring down the size quite a bit. The mcount loc is
> read into the dyn_rec, which has two longs (the second long is the
> flags that only use 32 bits, but is a long to make it aligned, as a 64
> bit word followed by a 32bit word just added 32 bits of padding to make
> it an array).
>
> The patches make it into two ints (which bring down the size for 64 bit
> machines). The lists are broken up into blocks, and what I do is put
> the top 32 bits of a word into the top of the block, and make sure that
> they are the same among all the entries in the block.
>
> I guess its time to bring this back alive.

I don't think that helps? I'm on about the size of the kernel "Image" file, not
the runtime memory footprint.

... unless you mean doing that at compiler time?

Mark.