From: Tang Chen <tangchen@cn.fujitsu.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Don Morris <don.morris@hp.com>, "H. Peter Anvin" <hpa@zytor.com>,
Tejun Heo <tj@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Tony Luck <tony.luck@intel.com>, Thomas Renninger <trenn@suse.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
Tim Gardner <tim.gardner@canonical.com>,
linux-kernel@vger.kernel.org, tglx@linutronix.de,
mingo@redhat.com, x86@kernel.org, a.p.zijlstra@chello.nl,
jarkko.sakkinen@intel.com
Subject: Re: sched: CPU #1's llc-sibling CPU #0 is not on the same node!
Date: Wed, 27 Feb 2013 10:14:18 +0800 [thread overview]
Message-ID: <512D6BFA.8060905@cn.fujitsu.com> (raw)
In-Reply-To: <CAE9FiQU-CV4mF8x=Bi_4pmpmeZW-tSoes_f-jOt7yYrbrppo+A@mail.gmail.com>
Hi Yinghai,
Please see below. :)
On 02/27/2013 06:44 AM, Yinghai Lu wrote:
>>> that commit is totally broken, and it should be reverted.
>>>
>>> 1. numa_init is called several times, NOT just for srat. so those
>>> nodes_clear(numa_nodes_parsed)
>>> memset(&numa_meminfo, 0, sizeof(numa_meminfo))
>>> can not be just removed.
>>> please consider sequence is: numaq, srat, amd, dummy.
>>> You need to make fall back path working!
>>>
>>> 2. simply split acpi_numa_init to early_parse_srat.
>>> a. that early_parse_srat is NOT called for ia64, so you break ia64.
>>> b. for (i = 0; i< MAX_LOCAL_APIC; i++)
>>> set_apicid_to_node(i, NUMA_NO_NODE)
>>> still left in numa_init. So it will just clear result from early_parse_srat.
>>> it should be moved before that....
>>
>> c. it breaks ACPI_TABLE_OVERIDE...as the acpi table scan is moved
>> early before override from INITRD is settled.
>>
>>>
>>> 3. that patch TITLE is total misleading, there is NO x86 in the title,
>>> but it changes
>>> to x86 code.
>>>
>>> 4, it does not CC to TJ and other numa guys...
>
> After looked at the code more, thought that theory that does not let
> kernel use ram
> on hotplug area is not right.
>
> after that commit, following range can not use movable ram:
> 1. real_mode code.... well..funny, legacy cpu0 [0,1M) could be hot-removed?
> 2. dma_continguous ?
> 3. log buff ring.
> 4. initrd... why it will be freed after booting, so it could be on movable...
> 5. crashkernel for kdump...: : looks like we can not put kdump kernel
> above 4G anymore
> 6. initmem_init: it will allocate page table to setup kernel mapping
> for memory..., it should
> be with BRK and near end of max_pfn....
AFAIK, Linux kernel now cannot migrate memory used by the kernel
because. So any memory
used by the kernel should not be on movable area.
>
> If node is hotplugable, the mem related stuff like page table and
> vmemmap could be
> on the that node without problem and should be on that node.
page tables and vmemmap are kernel memory. They should not be movable, I
think.
>
> assume first cpu only have 1G ram, and other 31 socket will have bunch of ram
> and those cpu with ram could be hotadd and hotremoved.
> Now you want to put page table and vmemmap on first node.
> The system would not boot as not enough memory for cover whole system RAM.
Yes, you are right. And a more extreme situation has been talked about
by HPA.
"If all the memory is hot-pluggable, then the kernel won't be able to boot."
So, please refer to commit 01a178a94e8eaec351b29ee49fbb3d1c124cb7fb:
acpi, memory-hotplug: support getting hotplug info from SRAT
I have excluded all the memory reserved by memblock, and any node that
has memory
reserved by memblock will be set to un-hot-pluggable, which means we
will have
enough memory (all the memory on the node) to boot the kernel. So I
think the problem
you are talking about has been solved.
>
> e8d1955258091e4c92d5a975ebd7fd8a98f5d30f and related commits should be just
> reverted now.
>
> Thanks
>
> Yinghai
>
next prev parent reply other threads:[~2013-02-27 2:14 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-25 15:02 sched: CPU #1's llc-sibling CPU #0 is not on the same node! Tim Gardner
2013-02-25 15:32 ` Tim Gardner
2013-02-25 21:27 ` Don Morris
2013-02-25 22:50 ` Yinghai Lu
2013-02-26 0:35 ` Yinghai Lu
2013-02-26 2:06 ` Yinghai Lu
2013-02-26 3:21 ` Martin Bligh
2013-02-26 4:20 ` Yinghai Lu
2013-02-26 4:51 ` Martin Bligh
2013-02-26 6:09 ` Tang Chen
2013-02-26 6:57 ` Yinghai Lu
2013-02-26 7:29 ` Tang Chen
2013-02-26 7:53 ` Yasuaki Ishimatsu
2013-03-01 6:37 ` H. Peter Anvin
2013-03-01 8:05 ` Yinghai Lu
2013-03-01 10:59 ` Ingo Molnar
2013-03-01 11:03 ` Borislav Petkov
2013-03-01 11:24 ` Ingo Molnar
2013-03-01 15:32 ` H. Peter Anvin
2013-02-26 1:51 ` Tang Chen
2013-02-26 21:36 ` Yinghai Lu
2013-02-26 22:44 ` Yinghai Lu
2013-02-27 0:52 ` Yasuaki Ishimatsu
2013-02-27 2:30 ` Yinghai Lu
2013-02-27 3:38 ` Yasuaki Ishimatsu
2013-02-27 4:04 ` Yinghai Lu
2013-02-27 4:43 ` Yasuaki Ishimatsu
2013-02-27 5:11 ` Yinghai Lu
2013-02-27 5:49 ` Yasuaki Ishimatsu
2013-02-27 6:54 ` Yinghai Lu
2013-02-27 7:11 ` Tang Chen
2013-02-27 7:25 ` Yinghai Lu
2013-02-27 7:44 ` Tang Chen
2013-02-28 16:07 ` Yinghai Lu
2013-03-01 1:39 ` Tang Chen
2013-02-27 8:00 ` Lai Jiangshan
2013-02-27 21:26 ` Andrew Morton
2013-02-28 10:01 ` Tang Chen
2013-03-01 3:13 ` Linus Torvalds
2013-03-01 3:46 ` Tang Chen
2013-03-01 4:32 ` Linus Torvalds
2013-03-01 4:38 ` H. Peter Anvin
[not found] ` <CAE9FiQXb7K=QTR4PgMdNSoPm2LgYkxAuXUUZ0BXtgicQOGOaUA@mail.gmail.com>
2013-03-01 6:02 ` Yasuaki Ishimatsu
2013-03-01 7:55 ` Yinghai Lu
2013-03-01 15:43 ` H. Peter Anvin
2013-03-01 22:51 ` [PATCH] x86, ACPI, mm: Revert movablemem_map support Yinghai Lu
2013-03-01 6:18 ` sched: CPU #1's llc-sibling CPU #0 is not on the same node! Tang Chen
2013-03-01 8:02 ` Yinghai Lu
2013-03-01 8:39 ` Yasuaki Ishimatsu
2013-03-01 7:43 ` Yinghai Lu
2013-03-01 11:32 ` Tang Chen
2013-03-01 19:31 ` Yinghai Lu
[not found] ` <CAD11hGx5N9Eqy5bX-SEv9c7oR6Ehz2pUJwdrK0Q=L4S44RC5gg@mail.gmail.com>
2013-03-02 5:46 ` Yinghai Lu
2013-03-01 4:40 ` Andrew Morton
2013-02-27 12:40 ` Don Morris
2013-02-27 16:28 ` Luck, Tony
2013-02-27 17:30 ` Yinghai Lu
2013-02-27 17:50 ` Luck, Tony
2013-02-27 2:14 ` Tang Chen [this message]
2013-02-27 2:24 ` Yinghai Lu
2013-02-27 4:32 ` Tang Chen
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=512D6BFA.8060905@cn.fujitsu.com \
--to=tangchen@cn.fujitsu.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=don.morris@hp.com \
--cc=hpa@zytor.com \
--cc=jarkko.sakkinen@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=tim.gardner@canonical.com \
--cc=tj@kernel.org \
--cc=tony.luck@intel.com \
--cc=torvalds@linux-foundation.org \
--cc=trenn@suse.de \
--cc=x86@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox