All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sched/x86: Calculate booted cores after construction of sibling_mask
@ 2012-05-31  7:37 Kamalesh Babulal
  2012-05-31 20:30 ` Peter Zijlstra
  2012-06-06 15:52 ` [tip:sched/urgent] " tip-bot for Kamalesh Babulal
  0 siblings, 2 replies; 5+ messages in thread
From: Kamalesh Babulal @ 2012-05-31  7:37 UTC (permalink / raw)
  To: linux-kernel; +Cc: mingo, peterz

While booting tip (1d06e6d354) on qemu with -smp sockets=1,cores=2,threads=2
topology. There is a mismatch between the number of cores actually present
and cores reported.

Changes related to calculating the number of booted cores was introduced
by 316ad248307fb (sched/x86: Rewrite set_cpu_sibling_map()). With the
clean up, the calculation of booted cores per package is done on an
incompletely constructed sibling_mask per cpu.

sched/x86: Calculate booted cores after construction of sibling_mask

This patch re-introduces the old behaviour of constructing the complete
sibling mask of the cpu, before calculating the number of cores booted.

On qemu booted with -smp sockets=1,cores=2,threads=2,
Before:
$ cat /proc/cpuinfo |grep cores
cpu cores       : 2
cpu cores       : 1
cpu cores       : 4
cpu cores       : 3

With the patch:
$ cat /proc/cpuinfo |grep cores
cpu cores       : 2
cpu cores       : 2
cpu cores       : 2
cpu cores       : 2

Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
---
 arch/x86/kernel/smpboot.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index fd019d7..a8d78f3 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -382,7 +382,12 @@ void __cpuinit set_cpu_sibling_map(int cpu)
 		if ((i == cpu) || (has_mc && match_llc(c, o)))
 			link_mask(llc_shared, cpu, i);

-		if ((i == cpu) || (has_mc && match_mc(c, o))) {
+	}
+
+	for_each_cpu(i, cpu_sibling_setup_mask) {
+		o = &cpu_data(i);
+
+	if ((i == cpu) || (has_mc && match_mc(c, o))) {
 			link_mask(core, cpu, i);

 			/*


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-06-06 15:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-31  7:37 [PATCH] sched/x86: Calculate booted cores after construction of sibling_mask Kamalesh Babulal
2012-05-31 20:30 ` Peter Zijlstra
2012-06-01  6:48   ` Kamalesh Babulal
2012-06-01 10:08     ` Peter Zijlstra
2012-06-06 15:52 ` [tip:sched/urgent] " tip-bot for Kamalesh Babulal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.