[V2,00/58] x86/apic: Decrapification and static calls

Message ID 20230724131206.500814398@linutronix.de
Headers
Series x86/apic: Decrapification and static calls |

Message

Thomas Gleixner July 24, 2023, 1:33 p.m. UTC
  Hi!

This is the follow up to:

  https://lore.kernel.org/lkml/20230717223049.327865981@linutronix.de

which addresses the review feedback and some minor 0day-robot fallout.

TLDR: This cleans up accrued and partially unused gunk in order to convert
the APIC callbacks to static calls.

The changes vs. V1:

  - Fixed the minor fallout reported by Michael and Peter

  - Mopped up XEN/PV even more - Juergen

  - Fixed up a place which still wrote into mp_lapic_addr directly in
    mpparse

  - Addressed 0day fallout on 32bit with KVM guest enabled and local APIC
    disabled. Sigh!

The series is also available from git:

  git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git apic-static-call-v2

Thanks,

	tglx
---
 hyperv/hv_apic.c             |   26 +-
 hyperv/hv_init.c             |    2 
 hyperv/hv_spinlock.c         |    2 
 hyperv/hv_vtl.c              |    2 
 include/asm/apic.h           |  239 +++++++++++++---------
 include/asm/io_apic.h        |    7 
 include/asm/mpspec.h         |   31 --
 include/asm/processor.h      |    1 
 include/asm/smp.h            |   11 -
 kernel/acpi/boot.c           |   12 -
 kernel/apic/Makefile         |    2 
 kernel/apic/apic.c           |  454 +++++++++++++------------------------------
 kernel/apic/apic_common.c    |   21 +
 kernel/apic/apic_flat_64.c   |   80 +------
 kernel/apic/apic_noop.c      |   91 +-------
 kernel/apic/apic_numachip.c  |   50 ----
 kernel/apic/bigsmp_32.c      |   89 +-------
 kernel/apic/hw_nmi.c         |    4 
 kernel/apic/init.c           |  110 ++++++++++
 kernel/apic/io_apic.c        |   30 +-
 kernel/apic/ipi.c            |  176 +++++++---------
 kernel/apic/local.h          |   30 ++
 kernel/apic/msi.c            |    2 
 kernel/apic/probe_32.c       |  117 ++---------
 kernel/apic/probe_64.c       |   18 -
 kernel/apic/vector.c         |   16 -
 kernel/apic/x2apic_cluster.c |   23 --
 kernel/apic/x2apic_phys.c    |   74 ++-----
 kernel/apic/x2apic_uv_x.c    |   51 ----
 kernel/cpu/acrn.c            |    2 
 kernel/cpu/amd.c             |    2 
 kernel/cpu/common.c          |    2 
 kernel/cpu/hygon.c           |    3 
 kernel/cpu/mce/amd.c         |    2 
 kernel/cpu/mce/inject.c      |    3 
 kernel/cpu/mce/threshold.c   |    2 
 kernel/cpu/mshyperv.c        |    4 
 kernel/devicetree.c          |   21 -
 kernel/irq.c                 |   14 -
 kernel/irq_work.c            |    4 
 kernel/jailhouse.c           |    6 
 kernel/kvm.c                 |   14 -
 kernel/mpparse.c             |   17 -
 kernel/nmi_selftest.c        |    2 
 kernel/setup.c               |    7 
 kernel/setup_percpu.c        |   10 
 kernel/sev.c                 |    4 
 kernel/smp.c                 |   10 
 kernel/smpboot.c             |  115 ----------
 kernel/vsmp_64.c             |    2 
 kvm/vmx/posted_intr.c        |    2 
 kvm/vmx/vmx.c                |    2 
 mm/srat.c                    |    5 
 pci/xen.c                    |    2 
 platform/uv/uv_nmi.c         |    2 
 xen/apic.c                   |   78 ++-----
 xen/enlighten_hvm.c          |    2 
 xen/smp_pv.c                 |    2 
 58 files changed, 753 insertions(+), 1359 deletions(-)
  

Comments

Sohil Mehta July 25, 2023, 12:40 a.m. UTC | #1
On 7/24/2023 6:33 AM, Thomas Gleixner wrote:

> The series is also available from git:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git apic-static-call-v2

This series works fine on a couple of systems that I have (but they
aren't 32-bit).

Please feel free to add:
Tested-by: Sohil Mehta <sohil.mehta@intel.com>
  
Juergen Gross July 31, 2023, 12:20 p.m. UTC | #2
On 24.07.23 15:33, Thomas Gleixner wrote:
> Hi!
> 
> This is the follow up to:
> 
>    https://lore.kernel.org/lkml/20230717223049.327865981@linutronix.de
> 
> which addresses the review feedback and some minor 0day-robot fallout.
> 
> TLDR: This cleans up accrued and partially unused gunk in order to convert
> the APIC callbacks to static calls.
> 
> The changes vs. V1:
> 
>    - Fixed the minor fallout reported by Michael and Peter
> 
>    - Mopped up XEN/PV even more - Juergen
> 
>    - Fixed up a place which still wrote into mp_lapic_addr directly in
>      mpparse
> 
>    - Addressed 0day fallout on 32bit with KVM guest enabled and local APIC
>      disabled. Sigh!
> 
> The series is also available from git:
> 
>    git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git apic-static-call-v2
> 

With the changes suggested for patches 16 and 50 this series seems to work
fine for Xen PV (dom0 and domU).


Juergen