Commit 3185ec7c authored by wanghongliang's avatar wanghongliang Committed by Hongchen Zhang
Browse files

LoongArch: adjust the calc method of number of packages.

LoongArch inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/IBENRY


CVE: NA

--------------------------------

Signed-off-by: default avatarwanghongliang <wanghongliang@loongson.cn>
parent c0d9a87e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -29,10 +29,14 @@ void numa_set_distance(int from, int to, int distance);
#endif

#ifdef CONFIG_SMP
extern unsigned int __max_packages;
#define topology_max_packages()                 (__max_packages)
#define topology_physical_package_id(cpu)	(cpu_data[cpu].package)
#define topology_core_id(cpu)			(cpu_data[cpu].core)
#define topology_core_cpumask(cpu)		(&cpu_core_map[cpu])
#define topology_sibling_cpumask(cpu)		(&cpu_sibling_map[cpu])
#else
#define topology_max_packages()                 (1)
#endif

#include <asm-generic/topology.h>
+1 −0
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ static void __init parse_cpu_table(const struct dmi_header *dm)

	loongson_sysconf.cpuname = (void *)dmi_string_parse(dm, dmi_data[16]);
	loongson_sysconf.cores_per_package = *(dmi_data + SMBIOS_THREAD_PACKAGE_OFFSET);
	__max_packages++;

	pr_info("CpuClock = %llu\n", cpu_clock_freq);
}
+3 −0
Original line number Diff line number Diff line
@@ -74,6 +74,9 @@ static const char *ipi_types[NR_IPI] __tracepoint_string = {
	[IPI_CLEAR_VECTOR] = "Clear vector interrupts",
};

unsigned int __max_packages __read_mostly;
EXPORT_SYMBOL(__max_packages);

void show_ipi_list(struct seq_file *p, int prec)
{
	unsigned int cpu, i;
+1 −2
Original line number Diff line number Diff line
@@ -156,8 +156,7 @@ static int __init loongson_hwmon_init(void)

	pr_info("Loongson Hwmon Enter...\n");

	nr_packages = loongson_sysconf.nr_cpus /
		loongson_sysconf.cores_per_package;
	nr_packages = topology_max_packages();

	cpu_hwmon_dev = hwmon_device_register_with_groups(NULL, "cpu_hwmon",
							  NULL, cpu_hwmon_groups);