Commit ad2143d4 authored by Yury Norov's avatar Yury Norov Committed by Lu Jialin
Browse files

smp: add set_nr_cpu_ids()

mainline inclusion
from mainline-v6.1-rc1
commit 38bef8e5
category: cleanup
bugzilla: https://gitee.com/openeuler/kernel/issues/I8KQBZ
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=38bef8e57f2149acd2c910a98f57dd6291d2e0ec



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

In preparation to support compile-time nr_cpu_ids, add a setter for
the variable.

This is a no-op for all arches.

Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
Signed-off-by: default avatarZheng Zucheng <zhengzucheng@huawei.com>
parent a6527b6b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -526,7 +526,7 @@ static void __init prefill_possible_map(void)
	for (; i < NR_CPUS; i++)
		set_cpu_possible(i, false);

	nr_cpu_ids = possible;
	set_nr_cpu_ids(possible);
}
#endif

+1 −1
Original line number Diff line number Diff line
@@ -756,7 +756,7 @@ static void __init prefill_possible_map(void)
	for (; i < NR_CPUS; i++)
		set_cpu_possible(i, false);

	nr_cpu_ids = possible;
	set_nr_cpu_ids(possible);
}
#else
static inline void prefill_possible_map(void) {}
+2 −2
Original line number Diff line number Diff line
@@ -1284,7 +1284,7 @@ static void __init smp_sanity_check(void)
			nr++;
		}

		nr_cpu_ids = 8;
		set_nr_cpu_ids(8);
	}
#endif

@@ -1526,7 +1526,7 @@ __init void prefill_possible_map(void)
		possible = i;
	}

	nr_cpu_ids = possible;
	set_nr_cpu_ids(possible);

	pr_info("Allowing %d CPUs, %d hotplug CPUs\n",
		possible, max_t(int, possible - num_processors, 0));
+1 −1
Original line number Diff line number Diff line
@@ -182,7 +182,7 @@ static void __init _get_smp_config(unsigned int early)
	 * hypercall to expand the max number of VCPUs an already
	 * running guest has. So cap it up to X. */
	if (subtract)
		nr_cpu_ids = nr_cpu_ids - subtract;
		set_nr_cpu_ids(nr_cpu_ids - subtract);
#endif

}
+5 −0
Original line number Diff line number Diff line
@@ -37,6 +37,11 @@ typedef struct cpumask { DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
#define nr_cpu_ids		1U
#else
extern unsigned int nr_cpu_ids;

static inline void set_nr_cpu_ids(unsigned int nr)
{
	nr_cpu_ids = nr;
}
#endif

#ifdef CONFIG_CPUMASK_OFFSTACK
Loading