From: Tejun Heo <tj@kernel.org>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
Yinghai Lu <yinghai@kernel.org>, Brian Gerst <brgerst@gmail.com>,
Cyrill Gorcunov <gorcunov@gmail.com>,
Shaohui Zheng <shaohui.zheng@intel.com>,
David Rientjes <rientjes@google.com>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@linux.intel.com>
Subject: Re: [PATCH] x86-64, NUMA: fix fakenuma boot failure
Date: Thu, 14 Apr 2011 04:32:19 +0900 [thread overview]
Message-ID: <20110413193219.GF3987@mtj.dyndns.org> (raw)
In-Reply-To: <20110413160239.D72A.A69D9226@jp.fujitsu.com>
Hello,
On Wed, Apr 13, 2011 at 04:02:43PM +0900, KOSAKI Motohiro wrote:
> Your patch have two mistake.
>
> 1) link_thread_siblings() is for HT
> set_cpu_sibling_map() has another sibling calculations.
> 2) numa_set_node() is not enough. scheduler is using node_to_cpumask_map[] too.
Thanks for seeing this through but your patch is badly whitespace
broken. Can you please check your mail setup and repost? Also, some
comments below.
> btw, Please see cpu_coregroup_mask(). its return value depend on
> sched_mc_power_savings and sched_smt_power_savings. then, we need to care
> both cpu_core_mask and cpu_llc_shared_mask. I think.
Hmmmm....
> +static void __cpuinit node_cpumap_same_phys(int cpu1, int cpu2)
What does the "phys" mean? Maybe something like
check_cpu_siblings_on_same_node() is a better name?
> + /*
> + * Our CPU scheduler assume all cpus in the same physical cpu package
> + * are assigned the same node. But, Buggy ACPI table or NUMA emulation
> + * might assigne them to different node. Fix it.
typo
> + */
> + if (node1 != node2) {
> + pr_warning("CPU %d in node %d and CPU %d in node %d are in the same physical CPU. forcing same node %d\n",
> + cpu1, node1, cpu2, node2, node2);
> +
> + numa_set_node(cpu1, node2);
> + cpumask_set_cpu(cpu1, node_to_cpumask_map[node2]);
> + cpumask_clear_cpu(cpu1, node_to_cpumask_map[node1]);
Maybe what you want is the following?
numa_remove_cpu(cpu1);
numa_set_node(cpu1, node2)
numa_add_cpu(cpu1)
Thanks.
--
tejun
next prev parent reply other threads:[~2011-04-13 19:32 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20110408235739.A6B0.A69D9226@jp.fujitsu.com>
2011-04-08 16:43 ` [PATCH] x86-64, NUMA: reimplement cpu node map initialization for fake numa Tejun Heo
2011-04-11 1:58 ` KOSAKI Motohiro
2011-04-12 4:00 ` Tejun Heo
2011-04-12 4:38 ` KOSAKI Motohiro
2011-04-12 6:31 ` KOSAKI Motohiro
2011-04-12 7:13 ` Tejun Heo
2011-04-13 7:02 ` [PATCH] x86-64, NUMA: fix fakenuma boot failure KOSAKI Motohiro
2011-04-13 19:32 ` Tejun Heo [this message]
2011-04-14 0:51 ` [PATCH v2] " KOSAKI Motohiro
2011-04-14 15:05 ` Tejun Heo
2011-04-15 11:39 ` [PATCH v3] " KOSAKI Motohiro
2011-04-15 15:35 ` Tejun Heo
2011-04-15 19:24 ` [tip:x86/urgent] x86, NUMA: Fix " tip-bot for KOSAKI Motohiro
2011-04-14 6:44 ` [PATCH] x86-64, NUMA: fix " Ingo Molnar
2011-04-14 14:49 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110413193219.GF3987@mtj.dyndns.org \
--to=tj@kernel.org \
--cc=brgerst@gmail.com \
--cc=gorcunov@gmail.com \
--cc=hpa@linux.intel.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rientjes@google.com \
--cc=shaohui.zheng@intel.com \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.