Re: [PATCH v2 -tip] x86/percpu: Use C for arch_raw_cpu_ptr()

From: Ingo Molnar
Date: Thu Oct 12 2023 - 13:59:52 EST



* Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:

> On Thu, Oct 12, 2023 at 08:19:14AM +0200, Ingo Molnar wrote:
> >
> > * Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> >
> > > Though, another problem is that .text has a crazy amount of padding
> > > which makes it always the same size, due to the SRSO alias mitigation
> > > alignment linker magic. We should fix that somehow.
> >
> > We could emit a non-aligned end-of-text symbol (we might have it already),
> > and have a script or small .c program in scripts/ or tools/ that looks
> > at vmlinux and displays a user-friendly and accurate list of text and
> > data sizes in the kernel?
> >
> > And since objtool is technically an 'object files tool', and it already
> > looks at sections & symbols, it could also grow a:
> >
> > objtool size <objfile>
> >
> > command that does the sane thing ... I'd definitely start using that, instead of 'size'.
> >
> > /me runs :-)
>
> Yeah, that's actually not a bad idea.
>
> I had been thinking a "simple" script would be fine, but I'm realizing
> the scope of this thing could grow over time. In which case a script is
> less than ideal. And objtool already has the ability to do this pretty
> easily.

Yeah, and speed actually matters here: I have scripts that generate object
comparisons between commits, and every second of runtime counts - and a
script would be slower and more fragile for something like allmodconfig
builds or larger disto configs.

BTW., maybe the right objtool subcommand would be 'objtool sections', with
an 'objtool sections size' sub-sub-command. Because I think this discussion
shows that it would be good to have a bit of visibility into the sanity of
our sections setup, with 'objtool sections check' for example doing a
sanity check on whether there's anything extra in the text section that
shouldn't be there? Or so ...

Thanks,

Ingo