Re: [PATCH] [RFC, DO NOT APPLY] vmlinux.lds: revert link speed regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 22, 2025, at 19:47, Rong Xu wrote:
> On Tue, Jan 21, 2025 at 1:18 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>>
>> On Tue, Jan 21, 2025, at 18:45, Rong Xu wrote:
>> > On Mon, Jan 20, 2025 at 1:29 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>> >
>> > Yes. The order could be conditional. As a matter of fact, the first
>> > version was conditional.
>> > I changed it based on the reviewer comments to reduce conditions for
>> > more maintainable code.
>> > I would like to work from the ld.bfd side to see if we can fix the problem.
>>
>> Makes sense. At least once we understand what makes the linker so slow
>> and fix future versions, it should also be possible to come up with
>> a more effective workaround for the existing linkers that suffer from it.
>
> @Arnd: Can you send me the instructions to reproduce this regression?

My report had linked to the config that I saw originally:

>> > Link: https://pastebin.com/raw/sWpbkapL (config)

This is for a x86_64 build, and I used 'make savedefconfig' to
simplify it, so you have to copy it to arch/x86/configs/test_defconfig
and run 'make test_defconfig' to get the full file back.

I have also uploaded a reproducer to
https://drive.google.com/file/d/14xWdD_S51XBgV6kOajLvdtOef7tQTZQq/view?usp=sharing
but it's fairly large. The reproducer is from ld.lld --reproduce=, but
you can simply unpack it and do

x86_64-linux-gnu-ld.bfd  -m elf_x86_64 -z noexecstack --emit-relocs --discard-none -z max-page-size=0x200000 --gc-sections --build-id=sha1 --orphan-handling warn --script home/arnd/arm-soc/build/x86/0xA8B23FFD_defconfig/arch/x86/kernel/vmlinux.lds --strip-debug -o .tmp_vmlinux1 --whole-archive home/arnd/arm-soc/build/x86/0xA8B23FFD_defconfig/vmlinux.a home/arnd/arm-soc/build/x86/0xA8B23FFD_defconfig/init/version-timestamp.o --no-whole-archive --start-group home/arnd/arm-soc/build/x86/0xA8B23FFD_defconfig/lib/lib.a home/arnd/arm-soc/build/x86/0xA8B23FFD_defconfig/arch/x86/lib/lib.a --end-group home/arnd/arm-soc/build/x86/0xA8B23FFD_defconfig/.tmp_vmlinux0.kallsyms.o

    Arnd





[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux