public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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
>

  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