Messages in this thread | | | Subject | Re: [PATCH] x86: topology_update_package_map function doesn't use the return value | From | Tim Chen <> | Date | Tue, 07 Jun 2022 10:44:22 -0700 |
| |
On Mon, 2022-06-06 at 20:23 +0800, Li kunyu wrote: > topology_update_package_map function could remove the return value, and > it could remove the BUG_ON check. > > Signed-off-by: Li kunyu <kunyu@nfschina.com>
As far as I can tell, topology_update_package_map() should always succeed and return 0. Either there is an existing mapping of the physical package to a logical package id and we don't have to do anything, or we assign a new logical package id to this physical package id that doesn't have a mapping.
So I agree that checking for the failure and non-zero return of topology_update_package_map() is useless.
Likewise, I think topology_update_die_map() should always succeed and we can remove checking of its return value.
Reviewed-by: Tim Chen <tim.c.chen@linux.intel.com>
> --- > arch/x86/include/asm/topology.h | 6 +++--- > arch/x86/kernel/cpu/common.c | 2 +- > arch/x86/kernel/smpboot.c | 3 +-- > 3 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h > index 458c891a8273..eabfb44b63ed 100644 > --- a/arch/x86/include/asm/topology.h > +++ b/arch/x86/include/asm/topology.h > @@ -136,7 +136,7 @@ static inline int topology_max_smt_threads(void) > return __max_smt_threads; > } > > -int topology_update_package_map(unsigned int apicid, unsigned int cpu); > +void topology_update_package_map(unsigned int apicid, unsigned int cpu); > int topology_update_die_map(unsigned int dieid, unsigned int cpu); > int topology_phys_to_logical_pkg(unsigned int pkg); > int topology_phys_to_logical_die(unsigned int die, unsigned int cpu); > @@ -144,8 +144,8 @@ bool topology_is_primary_thread(unsigned int cpu); > bool topology_smt_supported(void); > #else > #define topology_max_packages() (1) > -static inline int > -topology_update_package_map(unsigned int apicid, unsigned int cpu) { return 0; } > +static inline void > +topology_update_package_map(unsigned int apicid, unsigned int cpu) { } > static inline int > topology_update_die_map(unsigned int dieid, unsigned int cpu) { return 0; } > static inline int topology_phys_to_logical_pkg(unsigned int pkg) { return 0; } > diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c > index c296cb1c0113..22d19a1feafd 100644 > --- a/arch/x86/kernel/cpu/common.c > +++ b/arch/x86/kernel/cpu/common.c > @@ -1673,7 +1673,7 @@ static void validate_apic_and_package_id(struct cpuinfo_x86 *c) > pr_err(FW_BUG "CPU%u: APIC id mismatch. Firmware: %x APIC: %x\n", > cpu, apicid, c->initial_apicid); > } > - BUG_ON(topology_update_package_map(c->phys_proc_id, cpu)); > + topology_update_package_map(c->phys_proc_id, cpu); > BUG_ON(topology_update_die_map(c->cpu_die_id, cpu)); > #else > c->logical_proc_id = 0; > diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c > index 5e7f9532a10d..20c67cca245b 100644 > --- a/arch/x86/kernel/smpboot.c > +++ b/arch/x86/kernel/smpboot.c > @@ -327,7 +327,7 @@ EXPORT_SYMBOL(topology_phys_to_logical_die); > * @pkg: The physical package id as retrieved via CPUID > * @cpu: The cpu for which this is updated > */ > -int topology_update_package_map(unsigned int pkg, unsigned int cpu) > +void topology_update_package_map(unsigned int pkg, unsigned int cpu) > { > int new; > > @@ -343,7 +343,6 @@ int topology_update_package_map(unsigned int pkg, unsigned int cpu) > } > found: > cpu_data(cpu).logical_proc_id = new; > - return 0; > } > /** > * topology_update_die_map - Update the physical to logical die map
| |