Commit-ID: 2532fc318db0e1fe68e01407ee27634c76916e44
Gitweb: http://git.kernel.org/tip/2532fc318db0e1fe68e01407ee27634c76916e44
Author: Tang Chen <tangc...@cn.fujitsu.com>
AuthorDate: Thu, 25 Aug 2016 16:35:14 +0800
Committer: Thomas Gleixner <t...@linutronix.de>
CommitDate:
Commit-ID: 2532fc318db0e1fe68e01407ee27634c76916e44
Gitweb: http://git.kernel.org/tip/2532fc318db0e1fe68e01407ee27634c76916e44
Author: Tang Chen
AuthorDate: Thu, 25 Aug 2016 16:35:14 +0800
Committer: Thomas Gleixner
CommitDate: Wed, 21 Sep 2016 21:18:38 +0200
x86/numa: Online memory
Hi Rafael, Len,
Would you please help to review the ACPI part of this patch-set ?
Thanks.
On 01/25/2016 02:08 PM, Tang Chen wrote:
[Problem]
cpuid <-> nodeid mapping is firstly established at boot time. And workqueue
caches
the mapping in wq_numa_possible_cpumask in wq_numa_init() a
Hi tj,
I have resent the patch-set and to Rafael and Len.
Thanks.
On 01/22/2016 05:26 AM, Tejun Heo wrote:
Hello,
Most changes being in ACPI, I think it probably would be a good idea
to cc Rafael and Len Brown.
Thanks.
For now, x86 does not support memory-less node. A node without memory
will not be onlined, and the cpus on it will be mapped to the other
online nodes with memory in init_cpu_to_node(). The reason of doing this
is to ensure each cpu has mapped to a node with memory, so that it will
be able to
> apicid mapping is established at local apic registeration time.
But non-present or disabled cpus are ignored.
In this patch, we establish all possible cpuid <-> apicid mapping when
registering local apic.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
arch/x86/include/asm/mpspec.h | 1
step 4.
This patch set the persistent cpuid <-> nodeid mapping for all enabled/disabled
processors at boot time via an additional acpi namespace walk for processors.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
arch/ia64/kernel/acpi.c | 2 +-
arch/x86/kernel/acpi/boot.c
disabled processors are ignored.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
drivers/acpi/acpi_processor.c | 5 +++-
drivers/acpi/processor_core.c | 57 +++
2 files changed, 40 insertions(+), 22 deletions(-)
diff --git a/drivers/acpi/acpi_
us at
boot time.
x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store
persistent cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when
booting.
Tang
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch finished step 1.
Signed-off-
istent.
cpuid <-> apicid mapping is established at local apic registeration time.
But non-present or disabled cpus are ignored.
In this patch, we establish all possible cpuid <-> apicid mapping when
registering local apic.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed
For now, x86 does not support memory-less node. A node without memory
will not be onlined, and the cpus on it will be mapped to the other
online nodes with memory in init_cpu_to_node(). The reason of doing this
is to ensure each cpu has mapped to a node with memory, so that it will
be able to
g.
This patch finishes step 4.
This patch set the persistent cpuid <-> nodeid mapping for all enabled/disabled
processors at boot time via an additional acpi namespace walk for processors.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu
at caller
is able to control if disabled processors are ignored.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
drivers/acpi/acpi_processor.c | 5 +++-
drivers/acpi/processor_core.c | 57 +++---
us at
boot time.
x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store
persistent cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when
booting.
Tang
n-presnet or disabled cpus'
apicid.
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch fin
Hi Rafael, Len,
Would you please help to review the ACPI part of this patch-set ?
Thanks.
On 01/25/2016 02:08 PM, Tang Chen wrote:
[Problem]
cpuid <-> nodeid mapping is firstly established at boot time. And workqueue
caches
the mapping in wq_numa_possible_cpumask in wq_numa_init() a
Hi tj,
I have resent the patch-set and to Rafael and Len.
Thanks.
On 01/22/2016 05:26 AM, Tejun Heo wrote:
Hello,
Most changes being in ACPI, I think it probably would be a good idea
to cc Rafael and Len Brown.
Thanks.
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch finished step 1.
Signed-off-
> apicid mapping is established at local apic registeration time.
But non-present or disabled cpus are ignored.
In this patch, we establish all possible cpuid <-> apicid mapping when
registering local apic.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
arch/x86/include/asm/mpspec.h | 1
disabled processors are ignored.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
drivers/acpi/acpi_processor.c | 5 +++-
drivers/acpi/processor_core.c | 57 +++
2 files changed, 40 insertions(+), 22 deletions(-)
diff --git a/drivers/acpi/acpi_
step 4.
This patch set the persistent cpuid <-> nodeid mapping for all enabled/disabled
processors at boot time via an additional acpi namespace walk for processors.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
arch/ia64/kernel/acpi.c | 2 +-
arch/x86/kernel/acpi/boot.c
us at
boot time.
x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store
persistent cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when
booting.
Tang
For now, x86 does not support memory-less node. A node without memory
will not be onlined, and the cpus on it will be mapped to the other
online nodes with memory in init_cpu_to_node(). The reason of doing this
is to ensure each cpu has mapped to a node with memory, so that it will
be able to
at caller
is able to control if disabled processors are ignored.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
drivers/acpi/acpi_processor.c | 5 +++-
drivers/acpi/processor_core.c | 57 +++---
g.
This patch finishes step 4.
This patch set the persistent cpuid <-> nodeid mapping for all enabled/disabled
processors at boot time via an additional acpi namespace walk for processors.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu
us at
boot time.
x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store
persistent cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when
booting.
Tang
For now, x86 does not support memory-less node. A node without memory
will not be onlined, and the cpus on it will be mapped to the other
online nodes with memory in init_cpu_to_node(). The reason of doing this
is to ensure each cpu has mapped to a node with memory, so that it will
be able to
n-presnet or disabled cpus'
apicid.
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch fin
istent.
cpuid <-> apicid mapping is established at local apic registeration time.
But non-present or disabled cpus are ignored.
In this patch, we establish all possible cpuid <-> apicid mapping when
registering local apic.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed
t cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when
booting.
Tang Chen (1):
x86, memhp, numa: Online memory-less nodes at boot time.
From: Gu Zheng
This patch finishes step 4.
This patch set the persistent cpuid <-> nodeid mapping for all enabled/disabled
processors at boot time via an additional acpi namespace walk for processors.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
arch/ia64/kernel/acpi.c
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch finished step 1.
Signed-off-
.
After this patch, a new parameter will be added to MADT APIs so that caller
is able to control if disabled processors are ignored.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
drivers/acpi/acpi_processor.c | 5 +++-
drivers/acpi/processor_core.c | 57 +++
local node, it will automatically fall back to the proper zones
in the zonelists.
Signed-off-by: Tang Chen
---
arch/x86/mm/numa.c | 27 +--
include/linux/mmzone.h | 1 +
mm/page_alloc.c| 2 +-
3 files changed, 15 insertions(+), 15 deletions(-)
diff --git
d <-> nodeid persistent.
cpuid <-> apicid mapping is established at local apic registeration time.
But non-present or disabled cpus are ignored.
In this patch, we establish all possible cpuid <-> apicid mapping when
registering local apic.
Signed-off-by: Gu Zheng
Signed-off-by: Ta
local node, it will automatically fall back to the proper zones
in the zonelists.
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
arch/x86/mm/numa.c | 27 +--
include/linux/mmzone.h | 1 +
mm/page_alloc.c| 2 +-
3 files changed, 15 insertions(+),
y: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
arch/x86/include/asm/mpspec.h | 1 +
arch/x86/kernel/acpi/boot.c | 6 ++---
arch/x86/kernel/apic/apic.c | 61 ---
3 files changed, 61 insertions(+), 7
abled processors and returns -ENODEV.
After this patch, a new parameter will be added to MADT APIs so that caller
is able to control if disabled processors are ignored.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com&
n-presnet or disabled cpus'
apicid.
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch fin
com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
arch/ia64/kernel/acpi.c | 2 +-
arch/x86/kernel/acpi/boot.c | 2 +-
drivers/acpi/bus.c| 3 ++
drivers/acpi/processor_core.c | 65 +++
include/linux/acpi.h | 2
t cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when
booting.
Tang Chen (1):
x86, memhp, numa: Online memory-less nodes at boot time.
=0x20a000, Memory of
Node 2 and 3 are ignored and the Nodes become memoryless node.
OK, I'm using initrd overwrite. It could also fake the memory-less node.
Thanks.
Thanks,
Yasuaki Ishimatsu
On Thu, 19 Nov 2015 12:22:10 +0800
Tang Chen wrote:
[Problem]
cpuid <-> nodeid mapping is f
=0x20a000, Memory of
Node 2 and 3 are ignored and the Nodes become memoryless node.
OK, I'm using initrd overwrite. It could also fake the memory-less node.
Thanks.
Thanks,
Yasuaki Ishimatsu
On Thu, 19 Nov 2015 12:22:10 +0800
Tang Chen <tangc...@cn.fujitsu.com> wrote:
[Problem]
On 11/24/2015 06:04 AM, Tejun Heo wrote:
Hello,
On Thu, Nov 19, 2015 at 12:22:10PM +0800, Tang Chen wrote:
[Solution]
There are four mappings in the kernel:
1. nodeid (logical node id) <-> pxm
2. apicid (physical cpu id) <-> nodeid
3. cpuid (logical cpu id) <->
On 11/24/2015 06:04 AM, Tejun Heo wrote:
Hello,
On Thu, Nov 19, 2015 at 12:22:10PM +0800, Tang Chen wrote:
[Solution]
There are four mappings in the kernel:
1. nodeid (logical node id) <-> pxm
2. apicid (physical cpu id) <-> nodeid
3. cpuid (logical cpu id) <->
Hi Shi,
Would you please share where did you add the printk debug info ?
Thanks. :)
On 11/20/2015 04:17 PM, Xishi Qiu wrote:
I find the direct mapping count in /proc/meminfo is error.
The value should be equal to the size of init_memory_mapping which
showed in boot log.
I add some print to
Hi Shi,
Would you please share where did you add the printk debug info ?
Thanks. :)
On 11/20/2015 04:17 PM, Xishi Qiu wrote:
I find the direct mapping count in /proc/meminfo is error.
The value should be equal to the size of init_memory_mapping which
showed in boot log.
I add some print to
Hi,
Sorry for the terrible delay for this patch-set.
But unfortunately, they are still not fully tested for the memory-less
node case.
Please help to review first. Will soon do the tests.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a
For now, x86 does not support memory-less node. A node without memory
will not be onlined, and the cpus on it will be mapped to the other
online nodes with memory in init_cpu_to_node(). The reason of doing this
is to ensure each cpu has mapped to a node with memory, so that it will
be able to
d <-> nodeid persistent.
cpuid <-> apicid mapping is established at local apic registeration time.
But non-present or disabled cpus are ignored.
In this patch, we establish all possible cpuid <-> apicid mapping when
registering local apic.
Signed-off-by: Gu Zheng
Signed-off-by: Ta
From: Gu Zheng
This patch finishes step 4.
This patch set the persistent cpuid <-> nodeid mapping for all enabled/disabled
processors at boot time via an additional acpi namespace walk for processors.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
arch/ia64/kernel/acpi.c
.
After this patch, a new parameter will be added to MADT APIs so that caller
is able to control if disabled processors are ignored.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
drivers/acpi/acpi_processor.c | 5 +++-
drivers/acpi/processor_core.c | 57 +++
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch finished step 1.
Signed-off-
cpu-hotplug: Enable acpi to register all possible cpus at
boot time.
x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store
persistent cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persist
n-presnet or disabled cpus'
apicid.
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch fin
cpu-hotplug: Enable acpi to register all possible cpus at
boot time.
x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store
persistent cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persist
Hi,
Sorry for the terrible delay for this patch-set.
But unfortunately, they are still not fully tested for the memory-less
node case.
Please help to review first. Will soon do the tests.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a
For now, x86 does not support memory-less node. A node without memory
will not be onlined, and the cpus on it will be mapped to the other
online nodes with memory in init_cpu_to_node(). The reason of doing this
is to ensure each cpu has mapped to a node with memory, so that it will
be able to
abled processors and returns -ENODEV.
After this patch, a new parameter will be added to MADT APIs so that caller
is able to control if disabled processors are ignored.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com&
y: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
arch/x86/include/asm/mpspec.h | 1 +
arch/x86/kernel/acpi/boot.c | 6 ++---
arch/x86/kernel/apic/apic.c | 61 ---
3 files changed, 61 insertions(+), 7
com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
arch/ia64/kernel/acpi.c | 2 +-
arch/x86/kernel/acpi/boot.c | 2 +-
drivers/acpi/bus.c| 3 ++
drivers/acpi/processor_core.c | 65 +++
include/linux/acpi.h | 2
On 10/21/2015 05:18 PM, Tang Chen wrote:
On 10/21/2015 05:00 PM, Vlastimil Babka wrote:
On 10/21/2015 04:20 AM, Changsheng Liu wrote:
在 2015/10/15 0:18, Vlastimil Babka 写道:
On 10/12/2015 08:58 AM, Changsheng Liu wrote:
From: Changsheng Liu
After the user config CONFIG_MOVABLE_NODE
On 10/21/2015 05:00 PM, Vlastimil Babka wrote:
On 10/21/2015 04:20 AM, Changsheng Liu wrote:
在 2015/10/15 0:18, Vlastimil Babka 写道:
On 10/12/2015 08:58 AM, Changsheng Liu wrote:
From: Changsheng Liu
After the user config CONFIG_MOVABLE_NODE,
When the memory is hot added,
On 10/21/2015 05:00 PM, Vlastimil Babka wrote:
On 10/21/2015 04:20 AM, Changsheng Liu wrote:
在 2015/10/15 0:18, Vlastimil Babka 写道:
On 10/12/2015 08:58 AM, Changsheng Liu wrote:
From: Changsheng Liu
After the user config CONFIG_MOVABLE_NODE,
When the memory is
On 10/21/2015 05:18 PM, Tang Chen wrote:
On 10/21/2015 05:00 PM, Vlastimil Babka wrote:
On 10/21/2015 04:20 AM, Changsheng Liu wrote:
在 2015/10/15 0:18, Vlastimil Babka 写道:
On 10/12/2015 08:58 AM, Changsheng Liu wrote:
From: Changsheng Liu <liuchangch...@inspur.com>
After th
On 10/14/2015 11:28 AM, Xishi Qiu wrote:
On 2015/10/14 10:50, Tang Chen wrote:
Hi, Qiu
The patch seems OK to me. Only one little concern below.
On 10/12/2015 09:37 AM, Xishi Qiu wrote:
On 2015/10/9 23:41, Yasuaki Ishimatsu wrote:
On Thu, 8 Oct 2015 10:21:05 +0800
Xishi Qiu wrote
Hi, Qiu
The patch seems OK to me. Only one little concern below.
On 10/12/2015 09:37 AM, Xishi Qiu wrote:
On 2015/10/9 23:41, Yasuaki Ishimatsu wrote:
On Thu, 8 Oct 2015 10:21:05 +0800
Xishi Qiu wrote:
If kernelcore was not specified, or the kernelcore size is zero
(required_movablecore
Hi, Qiu
The patch seems OK to me. Only one little concern below.
On 10/12/2015 09:37 AM, Xishi Qiu wrote:
On 2015/10/9 23:41, Yasuaki Ishimatsu wrote:
On Thu, 8 Oct 2015 10:21:05 +0800
Xishi Qiu wrote:
If kernelcore was not specified, or the kernelcore size is zero
On 10/14/2015 11:28 AM, Xishi Qiu wrote:
On 2015/10/14 10:50, Tang Chen wrote:
Hi, Qiu
The patch seems OK to me. Only one little concern below.
On 10/12/2015 09:37 AM, Xishi Qiu wrote:
On 2015/10/9 23:41, Yasuaki Ishimatsu wrote:
On Thu, 8 Oct 2015 10:21:05 +0800
Xishi Qiu <qi
Hi Ishimatsu,
On 10/10/2015 02:13 AM, Yasuaki Ishimatsu wrote:
Hi Tang,
On Fri, 9 Oct 2015 15:59:38 +0800
Tang Chen wrote:
Hi,
I don't mean to offend, but I really think it is not necessary to do this.
hot-added memory will be added to ZONE_NORMAL by default. You can
modify it when you
Hi Ishimatsu,
On 10/10/2015 02:13 AM, Yasuaki Ishimatsu wrote:
Hi Tang,
On Fri, 9 Oct 2015 15:59:38 +0800
Tang Chen <tangc...@cn.fujitsu.com> wrote:
Hi,
I don't mean to offend, but I really think it is not necessary to do this.
hot-added memory will be added to ZONE_NORMAL by defaul
Xiaofeng Yan
Tested-by: Dongdong Fan
Cc: Wang Nan
Cc: Zhang Yanfei
Cc: Dave Hansen
Cc: Yinghai Lu
Cc: Tang Chen
Cc: Hu Tao
Cc: Lai Jiangshan
Cc: Yasuaki Ishimatsu
Cc: Gu Zheng
Cc: Toshi Kani
Cc: Xishi Qiu
Signed-off-by: Andrew Morton
---
Documentation/memory-hotplug.txt |5 +
...@huawei.com>
Cc: Zhang Yanfei <zhangyan...@cn.fujitsu.com>
Cc: Dave Hansen <dave.han...@intel.com>
Cc: Yinghai Lu <ying...@kernel.org>
Cc: Tang Chen <tangc...@cn.fujitsu.com>
Cc: Hu Tao <hu...@cn.fujitsu.com>
Cc: Lai Jiangshan <la...@cn.fujitsu.com>
Cc: Y
Seems OK to me.
Thanks.
On 09/30/2015 05:33 PM, Xishi Qiu wrote:
If user set "movablecore=xx" to a large number, corepages will overflow,
this patch fix the problem.
Signed-off-by: Xishi Qiu
---
mm/page_alloc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/page_alloc.c
Seems OK to me.
Thanks.
On 09/30/2015 05:33 PM, Xishi Qiu wrote:
If user set "movablecore=xx" to a large number, corepages will overflow,
this patch fix the problem.
Signed-off-by: Xishi Qiu
---
mm/page_alloc.c | 1 +
1 file changed, 1 insertion(+)
diff --git
On 09/27/2015 01:56 AM, Tejun Heo wrote:
On Sat, Sep 26, 2015 at 05:52:09PM +0800, Tang Chen wrote:
+static int allocate_logical_cpuid(int apicid)
+{
+ int i;
+
+ /*
+* cpuid <-> apicid mapping is persistent, so when a cpu is up,
+* check if the kernel has all
Hi, tj,
On 09/27/2015 01:53 AM, Tejun Heo wrote:
Hello, Tang.
On Sat, Sep 26, 2015 at 05:31:07PM +0800, Tang Chen wrote:
@@ -307,13 +307,19 @@ static inline struct page *alloc_pages_node(int nid,
gfp_t gfp_mask,
if (nid < 0)
nid = numa_node
Hi, tj,
On 09/27/2015 01:53 AM, Tejun Heo wrote:
Hello, Tang.
On Sat, Sep 26, 2015 at 05:31:07PM +0800, Tang Chen wrote:
@@ -307,13 +307,19 @@ static inline struct page *alloc_pages_node(int nid,
gfp_t gfp_mask,
if (nid < 0)
nid = numa_node
On 09/27/2015 01:56 AM, Tejun Heo wrote:
On Sat, Sep 26, 2015 at 05:52:09PM +0800, Tang Chen wrote:
+static int allocate_logical_cpuid(int apicid)
+{
+ int i;
+
+ /*
+* cpuid <-> apicid mapping is persistent, so when a cpu is up,
+* check if the kernel has all
Hi tj,
On 09/11/2015 03:55 AM, Tejun Heo wrote:
Hello,
So, overall, I think this is the right way to go although I have no
idea whether the acpi part is okay.
Thank you very much for reviewing. :)
+/*
+ * Current allocated max logical CPU ID plus 1.
+ * All allocated CPU ID should be in
Hi Rafael,
On 09/11/2015 07:10 AM, Rafael J. Wysocki wrote:
On Thursday, September 10, 2015 12:27:46 PM Tang Chen wrote:
..
Can you please avoid using the same (or at least very similar changelog)
for multiple patches in the series? That doesn't help a lot.
OK, will update the comment
Hi, Christoph, tj,
On 09/11/2015 08:14 AM, Christoph Lameter wrote:
On Thu, 10 Sep 2015, Tejun Heo wrote:
Why not just update node_data[]->node_zonelist in the first place?
Also, what's the synchronization rule here? How are allocators
synchronized against node hot [un]plugs?
Also,
Hi, tj
On 09/11/2015 03:29 AM, Tejun Heo wrote:
Hello,
On Thu, Sep 10, 2015 at 12:27:45PM +0800, Tang Chen wrote:
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index ad35f30..1a1324f 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -307,13 +307,19 @@ static inline struct
Hi Rafael,
On 09/11/2015 07:10 AM, Rafael J. Wysocki wrote:
On Thursday, September 10, 2015 12:27:46 PM Tang Chen wrote:
..
Can you please avoid using the same (or at least very similar changelog)
for multiple patches in the series? That doesn't help a lot.
OK, will update the comment
Hi, tj
On 09/11/2015 03:29 AM, Tejun Heo wrote:
Hello,
On Thu, Sep 10, 2015 at 12:27:45PM +0800, Tang Chen wrote:
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index ad35f30..1a1324f 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -307,13 +307,19 @@ static inline struct
Hi, Christoph, tj,
On 09/11/2015 08:14 AM, Christoph Lameter wrote:
On Thu, 10 Sep 2015, Tejun Heo wrote:
Why not just update node_data[]->node_zonelist in the first place?
Also, what's the synchronization rule here? How are allocators
synchronized against node hot [un]plugs?
Also,
Hi tj,
On 09/11/2015 03:55 AM, Tejun Heo wrote:
Hello,
So, overall, I think this is the right way to go although I have no
idea whether the acpi part is okay.
Thank you very much for reviewing. :)
+/*
+ * Current allocated max logical CPU ID plus 1.
+ * All allocated CPU ID should be in
e this array to make cpuid <-> nodeid persistent.
cpuid <-> apicid mapping is established at local apic registeration time.
But non-present or disabled cpus are ignored.
In this patch, we establish all possible cpuid <-> apicid mapping when
registering local apic.
Signed-off-by:
r CPUs on memory-less nodes
inside alloc_pages_node() and alloc_pages_exact_node() to avoid memory
allocation
failure.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
arch/x86/mm/numa.c | 3 +--
include/linux/gfp.h | 8 +++-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/ar
cessful. This is done
outside alloc_pages_node() and alloc_pages_exact_node(), when the kernel boots.
In this patch, we calculate best near online node for all nodes at node hotplug
time,
and store them in an array so that they could be obtained inside memory
alloc
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch finished step 1.
Signed-off-
Will call this function earlier in next coming patches.
So simply move its definition forward. And also, add comments for it.
Signed-off-by: Tang Chen
---
arch/x86/mm/numa.c | 47 +--
1 file changed, 29 insertions(+), 18 deletions(-)
diff --git
processors and returns -ENODEV.
After this patch, a new parameter will be added to MADT APIs so that caller
is able to control if disabled processors are ignored.
Signed-off-by: Gu Zheng
Signed-off-by: Tang Chen
---
drivers/acpi/acpi_processor.c | 5 +++-
drivers/acpi/processor_core.c | 5
pping for all possible CPUs, which has been done in
patch 4.
2. Setup cpuid <-> nodeid mapping for all possible CPUs.
This patch set the persistent cpuid <-> nodeid mapping for all enabled/disabled
processors at boot time via an additional acpi namespace walk for processors.
Signed-
me.
x86, acpi, cpu-hotplug: Introduce apicid_to_cpuid[] array to store
persistent cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when
booting.
Tang Chen (2):
x86, n
cessful. This is done
outside alloc_pages_node() and alloc_pages_exact_node(), when the kernel boots.
In this patch, we calculate best near online node for all nodes at node hotplug
time,
and store them in an array so that they could be obtained inside memory
allocator
at any time.
Signed
n-presnet or disabled cpus'
apicid.
This is also done by introducing an extra parameter to these apis to let the
caller
control if disabled cpus are ignored.
4. Establish all possible cpuid <-> nodeid mapping.
This is done via an additional acpi namespace walk for processors.
This patch fin
walk for processors.
Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com>
Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
---
arch/ia64/kernel/acpi.c | 2 +-
arch/x86/kernel/acpi/boot.c | 2 +-
drivers/acpi/bus.c| 3 ++
drivers/acpi/processor_core.c | 65 +
me.
x86, acpi, cpu-hotplug: Introduce apicid_to_cpuid[] array to store
persistent cpuid <-> apicid mapping.
x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.
x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when
booting.
Tang Chen (2):
x86, n
1 - 100 of 2061 matches
Mail list logo