Commit 61d1ea914b35 for kernel

commit 61d1ea914b3556c44f9ca04277ab990a60afb44d
Merge: 0279aa780df4 a1fab3e69d9d
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Sep 17 13:09:49 2024 +0200

    Merge tag 'x86-apic-2024-09-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

    Pull x86 APIC updates from Thomas Gleixner:

     - Handle an allocation failure in the IO/APIC code gracefully instead
       of crashing the machine.

     - Remove support for APIC local destination mode on 64bit

       Logical destination mode of the local APIC is used for systems with
       up to 8 CPUs. It has an advantage over physical destination mode as
       it allows to target multiple CPUs at once with IPIs. That advantage
       was definitely worth it when systems with up to 8 CPUs were state of
       the art for servers and workstations, but that's history.

       In the recent past there were quite some reports of new laptops
       failing to boot with logical destination mode, but they work fine
       with physical destination mode. That's not a suprise because physical
       destination mode is guaranteed to work as it's the only way to get a
       CPU up and running via the INIT/INIT/STARTUP sequence. Some of the
       affected systems were cured by BIOS updates, but not all OEMs provide
       them.

       As the number of CPUs keep increasing, logical destination mode
       becomes less used and the benefit for small systems, like laptops, is
       not really worth the trouble. So just remove logical destination mode
       support for 64bit and be done with it.

     - Code and comment cleanups in the APIC area.

    * tag 'x86-apic-2024-09-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/irq: Fix comment on IRQ vector layout
      x86/apic: Remove unused extern declarations
      x86/apic: Remove logical destination mode for 64-bit
      x86/apic: Remove unused inline function apic_set_eoi_cb()
      x86/ioapic: Cleanup remaining coding style issues
      x86/ioapic: Cleanup line breaks
      x86/ioapic: Cleanup bracket usage
      x86/ioapic: Cleanup comments
      x86/ioapic: Move replace_pin_at_irq_node() to the call site
      iommu/vt-d: Cleanup apic_printk()
      x86/mpparse: Cleanup apic_printk()s
      x86/ioapic: Cleanup guarded debug printk()s
      x86/ioapic: Cleanup apic_printk()s
      x86/apic: Cleanup apic_printk()s
      x86/apic: Provide apic_printk() helpers
      x86/ioapic: Use guard() for locking where applicable
      x86/ioapic: Cleanup structs
      x86/ioapic: Mark mp_alloc_timer_irq() __init
      x86/ioapic: Handle allocation failures gracefully