Re: [PATCH v6 3/7] Adjust symbol ordering in text output section
From: Rong Xu
Date: Tue Nov 12 2024 - 15:13:46 EST
I sent the following patch for review:
https://lkml.org/lkml/2024/11/12/1565
Thanks!
-Rong
On Mon, Nov 11, 2024 at 11:45 PM Klara Modin <klarasmodin@xxxxxxxxx> wrote:
>
> On 2024-11-12 06:38, Rong Xu wrote:
> > I compared the System.map files from Klara Modin. The linker script is
> > doing what I expected: relocating the unlikely executed functions to the
> > beginning of the .text section.
> >
> > However, the problem is with the _stext symbol. It belongs to the
> > .text section, so
> > it is positioned after the unlikely (or hot) functions. But it really
> > needs to be
> > the start of the text section.
> >
> > I checked all vmlinux.lds.S in arch/, I found that most archs
> > explicitly assign _stext to the same address as _text, with the
> > following 3 exceptions:
> > arch/sh/kernel/vmlinux.lds.S
> > arch/mips/kernel/vmlinux.lds.S
> > arch/sparc/kernel/vmlinux.lds.S
> >
> > Note that we already partially handled arch/sparc/kernel/vmlinux.lds.S
> > for sparc64.
> > But we need to handle sparc32 also.
> >
> > Additionally, the boot/compressed/vmlinux.lds.S also the TEXT_TEXT
> > template. However,
> > I presume these files do not generate the .text.unlikely. or
> > .text.hot.* sections.
> >
> > I sent the following patch to Klara because I don't have an
> > environment to build and test.
> > ====================
> > diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
> > index 9ff55cb80a64..5f130af44247 100644
> > --- a/arch/mips/kernel/vmlinux.lds.S
> > +++ b/arch/mips/kernel/vmlinux.lds.S
> > @@ -61,6 +61,7 @@ SECTIONS
> > /* read-only */
> > _text = .; /* Text and read-only data */
> > .text : {
> > + _stext = .;
> > TEXT_TEXT
> > SCHED_TEXT
> > LOCK_TEXT
> > ======================
> >
> > If Klara confirms the fix, I will send the patch for review.
> >
> > Thanks,
> >
> > -Rong
> >
>
> This does indeed fix the issue for me.
>
> Thanks,
> Tested-by: Klara Modin <klarasmodin@xxxxxxxxx>