Can get cpu_init_udelay default be fixed?

From: Richard Henschel
Date: Sat Jan 04 2025 - 20:25:21 EST


The problem is at about line 690 in /usr/src/linux-source-6.11.0/arch/x86/kernel/smpboot.c

       /* if cmdline changed it from default, leave it alone */
        if (init_udelay != UINT_MAX)
                return;

        /* if modern processor, use no delay */
        if (((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) && (boot_cpu_data.x86 == 6)) ||
            ((boot_cpu_data.x86_vendor == X86_VENDOR_HYGON) && (boot_cpu_data.x86 >= 0x18)) ||
            ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && (boot_cpu_data.x86 >= 0xF))) {
                init_udelay = 0;
                return;
        }
        /* else, use legacy delay */
        init_udelay = UDELAY_10MS_DEFAULT;

Where all machines in family 6 of Intel get cpu_init_udelay=0 by default.  Why zero?  Are there any machines that won't boot if NOT zero?  I ran tests on 4 machines I have (2 are antiques) and they would all boot with that value as 1000.  The Asus ROG GL12CX which is family 6 won't boot with this value less than 650.  I have previously used acpi=off and noapic to boot but with degradation (only 1 core works).  Are there any machines still running that need the other default of 10000?  Can you simplify by just using 1000 for everything if not over-ridden?

Test results  I have for four machines all running Ubuntu 24.10 kernel 6.11.0-13:

Command line: BOOT_IMAGE=/boot/vmlinuz-6.11.0-13-generic root=UUID=8f1dfe6b-aaf9-4ff3-b497-faa862db0c2c ro cpu-init-udelay=1000 quiet splash crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M vt.handoff=7
DMI: HP Victus by HP Gaming Laptop 15-fb1xxx/8C30, BIOS F.07 07/23/2024
DMI: Memory slots populated: 2/2
smpboot: CPU0: AMD Ryzen 5 7535HS with Radeon Graphics (family: 0x19, model: 0x44, stepping: 0x1)
smpboot: Total of 12 processors activated (79052.20 BogoMIPS)
Memory: 31414640K/32724336K available (22528K kernel code, 4521K rwdata, 14936K rodata, 4956K init, 4664K bss, 1288376K reserved, 0K cma-reserved)

Command line: BOOT_IMAGE=/boot/vmlinuz-6.11.0-13-generic root=UUID=89af16be-2e3e-4afc-a086-604e078012a4 ro cpu-init-udelay=1000 quiet splash crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
DMI: ASUSTeK COMPUTER INC. ROG Strix GL12CX_GL12CX/GL12CX, BIOS GL12CX.313 02/08/2021
DMI: Memory slots populated: 2/2
smpboot: CPU0: Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (family: 0x6, model: 0x9e, stepping: 0xd)
smpboot: Total of 8 processors activated (57600.00 BogoMIPS)
Memory: 31641116K/33471720K available (22528K kernel code, 4521K rwdata, 14936K rodata, 4956K init, 4664K bss, 1811884K reserved, 0K cma-reserved)

Command line: BOOT_IMAGE=/boot/vmlinuz-6.11.0-13-generic root=UUID=6176f339-0e60-4f78-af8a-de9fbef0a8a2 ro cpu-init-udelay=1000 quiet splash crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M vt.handoff=7
DMI: ASUSTeK COMPUTER INC. K55A/K55A, BIOS K55A.406 11/08/2012
DMI: Memory slots populated: 2/4
smpboot: CPU0: Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz (family: 0x6, model: 0x3a, stepping: 0x9)
smpboot: Total of 8 processors activated (38312.75 BogoMIPS)
Memory: 6944032K/7812652K available (22528K kernel code, 4521K rwdata, 14936K rodata, 4956K init, 4664K bss, 852656K reserved, 0K cma-reserved)

Command line: BOOT_IMAGE=/boot/vmlinuz-6.11.0-13-generic root=UUID=bae658d8-76ec-4e41-8415-7d3bdfd240df ro cpu-init-udelay=1000 quiet splash crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M vt.handoff=7
DMI: Hewlett-Packard /2AB1 , BIOS 6.11 12/28/2011
DMI: Memory slots populated: 4/4
smpboot: CPU0: AMD Athlon(tm) II X4 640 Processor (family: 0x10, model: 0x5, stepping: 0x3)
smpboot: Total of 4 processors activated (24001.76 BogoMIPS)
Memory: 7193560K/8123612K available (22528K kernel code, 4521K rwdata, 14936K rodata, 4956K init, 4664K bss, 921528K reserved, 0K cma-reserved)