Re: [patch v2 36/38] x86/apic: Remove unused phys_pkg_id() callback

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

 



Reviewed-by: Steve Wahl <steve.wahl@xxxxxxx>

On Fri, Jul 28, 2023 at 02:13:27PM +0200, Thomas Gleixner wrote:
> Now that the core code does not use this monstrosity anymore, it's time to
> put it to rest.
> 
> The only real purpose was to read the APIC ID on UV and VSMP systems for
> the actual evaluation. That's what the core code does now.
> 
> For doing the actual shift operation there is truly no APIC callback
> required.
> 
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> ---
>  arch/x86/include/asm/apic.h           |    1 -
>  arch/x86/kernel/apic/apic_flat_64.c   |    7 -------
>  arch/x86/kernel/apic/apic_noop.c      |    3 ---
>  arch/x86/kernel/apic/apic_numachip.c  |    7 -------
>  arch/x86/kernel/apic/bigsmp_32.c      |    6 ------
>  arch/x86/kernel/apic/local.h          |    1 -
>  arch/x86/kernel/apic/probe_32.c       |    6 ------
>  arch/x86/kernel/apic/x2apic_cluster.c |    1 -
>  arch/x86/kernel/apic/x2apic_phys.c    |    6 ------
>  arch/x86/kernel/apic/x2apic_uv_x.c    |   11 -----------
>  arch/x86/kernel/vsmp_64.c             |   13 -------------
>  arch/x86/xen/apic.c                   |    6 ------
>  12 files changed, 68 deletions(-)
> 
> --- a/arch/x86/include/asm/apic.h
> +++ b/arch/x86/include/asm/apic.h
> @@ -296,7 +296,6 @@ struct apic {
>  	void	(*init_apic_ldr)(void);
>  	void	(*ioapic_phys_id_map)(physid_mask_t *phys_map, physid_mask_t *retmap);
>  	u32	(*cpu_present_to_apicid)(int mps_cpu);
> -	u32	(*phys_pkg_id)(u32 cpuid_apic, int index_msb);
>  
>  	u32	(*get_apic_id)(u32 id);
>  	u32	(*set_apic_id)(u32 apicid);
> --- a/arch/x86/kernel/apic/apic_flat_64.c
> +++ b/arch/x86/kernel/apic/apic_flat_64.c
> @@ -66,11 +66,6 @@ static u32 set_apic_id(u32 id)
>  	return (id & 0xFF) << 24;
>  }
>  
> -static u32 flat_phys_pkg_id(u32 initial_apic_id, int index_msb)
> -{
> -	return initial_apic_id >> index_msb;
> -}
> -
>  static int flat_probe(void)
>  {
>  	return 1;
> @@ -89,7 +84,6 @@ static struct apic apic_flat __ro_after_
>  
>  	.init_apic_ldr			= default_init_apic_ldr,
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= flat_phys_pkg_id,
>  
>  	.max_apic_id			= 0xFE,
>  	.get_apic_id			= flat_get_apic_id,
> @@ -159,7 +153,6 @@ static struct apic apic_physflat __ro_af
>  	.disable_esr			= 0,
>  
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= flat_phys_pkg_id,
>  
>  	.max_apic_id			= 0xFE,
>  	.get_apic_id			= flat_get_apic_id,
> --- a/arch/x86/kernel/apic/apic_noop.c
> +++ b/arch/x86/kernel/apic/apic_noop.c
> @@ -29,7 +29,6 @@ static void noop_send_IPI_self(int vecto
>  static void noop_apic_icr_write(u32 low, u32 id) { }
>  static int noop_wakeup_secondary_cpu(u32 apicid, unsigned long start_eip) { return -1; }
>  static u64 noop_apic_icr_read(void) { return 0; }
> -static u32 noop_phys_pkg_id(u32 cpuid_apic, int index_msb) { return 0; }
>  static u32 noop_get_apic_id(u32 apicid) { return 0; }
>  static void noop_apic_eoi(void) { }
>  
> @@ -56,8 +55,6 @@ struct apic apic_noop __ro_after_init =
>  	.ioapic_phys_id_map		= default_ioapic_phys_id_map,
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
>  
> -	.phys_pkg_id			= noop_phys_pkg_id,
> -
>  	.max_apic_id			= 0xFE,
>  	.get_apic_id			= noop_get_apic_id,
>  
> --- a/arch/x86/kernel/apic/apic_numachip.c
> +++ b/arch/x86/kernel/apic/apic_numachip.c
> @@ -56,11 +56,6 @@ static u32 numachip2_set_apic_id(u32 id)
>  	return id << 24;
>  }
>  
> -static u32 numachip_phys_pkg_id(u32 initial_apic_id, int index_msb)
> -{
> -	return initial_apic_id >> index_msb;
> -}
> -
>  static void numachip1_apic_icr_write(int apicid, unsigned int val)
>  {
>  	write_lcsr(CSR_G3_EXT_IRQ_GEN, (apicid << 16) | val);
> @@ -228,7 +223,6 @@ static const struct apic apic_numachip1
>  	.disable_esr			= 0,
>  
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= numachip_phys_pkg_id,
>  
>  	.max_apic_id			= UINT_MAX,
>  	.get_apic_id			= numachip1_get_apic_id,
> @@ -265,7 +259,6 @@ static const struct apic apic_numachip2
>  	.disable_esr			= 0,
>  
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= numachip_phys_pkg_id,
>  
>  	.max_apic_id			= UINT_MAX,
>  	.get_apic_id			= numachip2_get_apic_id,
> --- a/arch/x86/kernel/apic/bigsmp_32.c
> +++ b/arch/x86/kernel/apic/bigsmp_32.c
> @@ -29,11 +29,6 @@ static void bigsmp_ioapic_phys_id_map(ph
>  	physids_promote(0xFFL, retmap);
>  }
>  
> -static u32 bigsmp_phys_pkg_id(u32 cpuid_apic, int index_msb)
> -{
> -	return cpuid_apic >> index_msb;
> -}
> -
>  static void bigsmp_send_IPI_allbutself(int vector)
>  {
>  	default_send_IPI_mask_allbutself_phys(cpu_online_mask, vector);
> @@ -88,7 +83,6 @@ static struct apic apic_bigsmp __ro_afte
>  	.check_apicid_used		= bigsmp_check_apicid_used,
>  	.ioapic_phys_id_map		= bigsmp_ioapic_phys_id_map,
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= bigsmp_phys_pkg_id,
>  
>  	.max_apic_id			= 0xFE,
>  	.get_apic_id			= bigsmp_get_apic_id,
> --- a/arch/x86/kernel/apic/local.h
> +++ b/arch/x86/kernel/apic/local.h
> @@ -17,7 +17,6 @@
>  void __x2apic_send_IPI_dest(unsigned int apicid, int vector, unsigned int dest);
>  u32 x2apic_get_apic_id(u32 id);
>  u32 x2apic_set_apic_id(u32 id);
> -u32 x2apic_phys_pkg_id(u32 initial_apicid, int index_msb);
>  
>  void x2apic_send_IPI_all(int vector);
>  void x2apic_send_IPI_allbutself(int vector);
> --- a/arch/x86/kernel/apic/probe_32.c
> +++ b/arch/x86/kernel/apic/probe_32.c
> @@ -18,11 +18,6 @@
>  
>  #include "local.h"
>  
> -static u32 default_phys_pkg_id(u32 cpuid_apic, int index_msb)
> -{
> -	return cpuid_apic >> index_msb;
> -}
> -
>  static u32 default_get_apic_id(u32 x)
>  {
>  	unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
> @@ -54,7 +49,6 @@ static struct apic apic_default __ro_aft
>  	.init_apic_ldr			= default_init_apic_ldr,
>  	.ioapic_phys_id_map		= default_ioapic_phys_id_map,
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= default_phys_pkg_id,
>  
>  	.max_apic_id			= 0xFE,
>  	.get_apic_id			= default_get_apic_id,
> --- a/arch/x86/kernel/apic/x2apic_cluster.c
> +++ b/arch/x86/kernel/apic/x2apic_cluster.c
> @@ -236,7 +236,6 @@ static struct apic apic_x2apic_cluster _
>  	.init_apic_ldr			= init_x2apic_ldr,
>  	.ioapic_phys_id_map		= NULL,
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= x2apic_phys_pkg_id,
>  
>  	.max_apic_id			= UINT_MAX,
>  	.x2apic_set_max_apicid		= true,
> --- a/arch/x86/kernel/apic/x2apic_phys.c
> +++ b/arch/x86/kernel/apic/x2apic_phys.c
> @@ -134,11 +134,6 @@ u32 x2apic_set_apic_id(u32 id)
>  	return id;
>  }
>  
> -u32 x2apic_phys_pkg_id(u32 initial_apicid, int index_msb)
> -{
> -	return initial_apicid >> index_msb;
> -}
> -
>  static struct apic apic_x2apic_phys __ro_after_init = {
>  
>  	.name				= "physical x2apic",
> @@ -151,7 +146,6 @@ static struct apic apic_x2apic_phys __ro
>  	.disable_esr			= 0,
>  
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= x2apic_phys_pkg_id,
>  
>  	.max_apic_id			= UINT_MAX,
>  	.x2apic_set_max_apicid		= true,
> --- a/arch/x86/kernel/apic/x2apic_uv_x.c
> +++ b/arch/x86/kernel/apic/x2apic_uv_x.c
> @@ -785,16 +785,6 @@ static u32 set_apic_id(u32 id)
>  	return id;
>  }
>  
> -static unsigned int uv_read_apic_id(void)
> -{
> -	return x2apic_get_apic_id(apic_read(APIC_ID));
> -}
> -
> -static u32 uv_phys_pkg_id(u32 initial_apicid, int index_msb)
> -{
> -	return uv_read_apic_id() >> index_msb;
> -}
> -
>  static int uv_probe(void)
>  {
>  	return apic == &apic_x2apic_uv_x;
> @@ -812,7 +802,6 @@ static struct apic apic_x2apic_uv_x __ro
>  	.disable_esr			= 0,
>  
>  	.cpu_present_to_apicid		= default_cpu_present_to_apicid,
> -	.phys_pkg_id			= uv_phys_pkg_id,
>  
>  	.max_apic_id			= UINT_MAX,
>  	.get_apic_id			= x2apic_get_apic_id,
> --- a/arch/x86/kernel/vsmp_64.c
> +++ b/arch/x86/kernel/vsmp_64.c
> @@ -127,25 +127,12 @@ static void __init vsmp_cap_cpus(void)
>  #endif
>  }
>  
> -static u32 apicid_phys_pkg_id(u32 initial_apic_id, int index_msb)
> -{
> -	return read_apic_id() >> index_msb;
> -}
> -
> -static void vsmp_apic_post_init(void)
> -{
> -	/* need to update phys_pkg_id */
> -	apic->phys_pkg_id = apicid_phys_pkg_id;
> -}
> -
>  void __init vsmp_init(void)
>  {
>  	detect_vsmp_box();
>  	if (!is_vsmp_box())
>  		return;
>  
> -	x86_platform.apic_post_init = vsmp_apic_post_init;
> -
>  	vsmp_cap_cpus();
>  
>  	set_vsmp_ctl();
> --- a/arch/x86/xen/apic.c
> +++ b/arch/x86/xen/apic.c
> @@ -110,11 +110,6 @@ static int xen_madt_oem_check(char *oem_
>  	return xen_pv_domain();
>  }
>  
> -static u32 xen_phys_pkg_id(u32 initial_apic_id, int index_msb)
> -{
> -	return initial_apic_id >> index_msb;
> -}
> -
>  static u32 xen_cpu_present_to_apicid(int cpu)
>  {
>  	if (cpu_present(cpu))
> @@ -133,7 +128,6 @@ static struct apic xen_pv_apic __ro_afte
>  	.disable_esr			= 0,
>  
>  	.cpu_present_to_apicid		= xen_cpu_present_to_apicid,
> -	.phys_pkg_id			= xen_phys_pkg_id, /* detect_ht */
>  
>  	.max_apic_id			= UINT_MAX,
>  	.get_apic_id			= xen_get_apic_id,
> 

-- 
Steve Wahl, Hewlett Packard Enterprise



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux