[tip:x86/apic] x86/numa: Online memory-less nodes at boot time

2016-09-22 Thread tip-bot for Tang Chen
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:

[tip:x86/apic] x86/numa: Online memory-less nodes at boot time

2016-09-22 Thread tip-bot for Tang Chen
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

Re: [PATCH v5 RESEND 0/5] Make cpuid <-> nodeid mapping persistent

2016-01-24 Thread Tang Chen
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

Re: [PATCH v5 0/5] Make cpuid <-> nodeid mapping persistent.

2016-01-24 Thread Tang Chen
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.

[PATCH v5 RESEND 1/5] x86, memhp, numa: Online memory-less nodes at boot time.

2016-01-24 Thread Tang Chen
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

[PATCH v5 RESEND 3/5] x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store persistent cpuid <-> apicid mapping.

2016-01-24 Thread Tang Chen
> 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

[PATCH v5 RESEND 5/5] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2016-01-24 Thread Tang Chen
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

[PATCH v5 RESEND 4/5] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2016-01-24 Thread Tang Chen
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_

[PATCH v5 RESEND 0/5] Make cpuid <-> nodeid mapping persistent

2016-01-24 Thread Tang Chen
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

[PATCH v5 RESEND 2/5] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2016-01-24 Thread Tang Chen
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-

[PATCH v5 RESEND 3/5] x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store persistent cpuid <-> apicid mapping.

2016-01-24 Thread Tang Chen
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

[PATCH v5 RESEND 1/5] x86, memhp, numa: Online memory-less nodes at boot time.

2016-01-24 Thread Tang Chen
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

[PATCH v5 RESEND 5/5] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2016-01-24 Thread Tang Chen
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

[PATCH v5 RESEND 4/5] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2016-01-24 Thread Tang Chen
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 +++---

[PATCH v5 RESEND 0/5] Make cpuid <-> nodeid mapping persistent

2016-01-24 Thread Tang Chen
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

[PATCH v5 RESEND 2/5] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2016-01-24 Thread Tang Chen
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

Re: [PATCH v5 RESEND 0/5] Make cpuid <-> nodeid mapping persistent

2016-01-24 Thread Tang Chen
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

Re: [PATCH v5 0/5] Make cpuid <-> nodeid mapping persistent.

2016-01-24 Thread Tang Chen
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.

[PATCH v5 2/5] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2016-01-20 Thread Tang Chen
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-

[PATCH v5 3/5] x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store persistent cpuid <-> apicid mapping.

2016-01-20 Thread Tang Chen
> 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

[PATCH v5 4/5] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2016-01-20 Thread Tang Chen
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_

[PATCH v5 5/5] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2016-01-20 Thread Tang Chen
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

[PATCH v5 0/5] Make cpuid <-> nodeid mapping persistent.

2016-01-20 Thread Tang Chen
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

[PATCH v5 1/5] x86, memhp, numa: Online memory-less nodes at boot time.

2016-01-20 Thread Tang Chen
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

[PATCH v5 4/5] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2016-01-20 Thread Tang Chen
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 +++---

[PATCH v5 5/5] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2016-01-20 Thread Tang Chen
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

[PATCH v5 0/5] Make cpuid <-> nodeid mapping persistent.

2016-01-20 Thread Tang Chen
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

[PATCH v5 1/5] x86, memhp, numa: Online memory-less nodes at boot time.

2016-01-20 Thread Tang Chen
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

[PATCH v5 2/5] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2016-01-20 Thread Tang Chen
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

[PATCH v5 3/5] x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store persistent cpuid <-> apicid mapping.

2016-01-20 Thread Tang Chen
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

[PATCH v4 0/5] Make cpuid <-> nodeid mapping persistent.

2016-01-06 Thread Tang Chen
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.

[PATCH 5/5] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2016-01-06 Thread Tang Chen
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

[PATCH 2/5] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2016-01-06 Thread Tang Chen
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-

[PATCH 4/5] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2016-01-06 Thread Tang Chen
. 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 +++

[PATCH 1/5] x86, memhp, numa: Online memory-less nodes at boot time.

2016-01-06 Thread Tang Chen
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

[PATCH 3/5] x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store persistent cpuid <-> apicid mapping.

2016-01-06 Thread Tang Chen
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

[PATCH 1/5] x86, memhp, numa: Online memory-less nodes at boot time.

2016-01-06 Thread Tang Chen
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(+),

[PATCH 3/5] x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store persistent cpuid <-> apicid mapping.

2016-01-06 Thread Tang Chen
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

[PATCH 4/5] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2016-01-06 Thread Tang Chen
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&

[PATCH 2/5] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2016-01-06 Thread Tang Chen
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

[PATCH 5/5] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2016-01-06 Thread Tang Chen
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

[PATCH v4 0/5] Make cpuid <-> nodeid mapping persistent.

2016-01-06 Thread Tang Chen
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.

Re: [PATCH v3 0/5] Make cpuid <-> nodeid mapping persistent.

2015-12-09 Thread Tang Chen
=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

Re: [PATCH v3 0/5] Make cpuid <-> nodeid mapping persistent.

2015-12-09 Thread Tang Chen
=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]

Re: [PATCH v3 0/5] Make cpuid <-> nodeid mapping persistent.

2015-11-23 Thread Tang Chen
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) <->

Re: [PATCH v3 0/5] Make cpuid <-> nodeid mapping persistent.

2015-11-23 Thread Tang Chen
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) <->

Re: [RFC] mm: direct mapping count in /proc/meminfo is error

2015-11-20 Thread Tang Chen
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

Re: [RFC] mm: direct mapping count in /proc/meminfo is error

2015-11-20 Thread Tang Chen
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

Re: [PATCH v3 0/5] Make cpuid <-> nodeid mapping persistent.

2015-11-18 Thread Tang Chen
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

[PATCH v3 1/5] x86, memhp, numa: Online memory-less nodes at boot time.

2015-11-18 Thread Tang Chen
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

[PATCH v3 3/5] x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store persistent cpuid <-> apicid mapping.

2015-11-18 Thread Tang Chen
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

[PATCH v3 5/5] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2015-11-18 Thread Tang Chen
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

[PATCH v3 4/5] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2015-11-18 Thread Tang Chen
. 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 +++

[PATCH v3 2/5] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2015-11-18 Thread Tang Chen
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-

[PATCH v3 0/5] Make cpuid <-> nodeid mapping persistent.

2015-11-18 Thread Tang Chen
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

[PATCH v3 2/5] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2015-11-18 Thread Tang Chen
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

[PATCH v3 0/5] Make cpuid <-> nodeid mapping persistent.

2015-11-18 Thread Tang Chen
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

Re: [PATCH v3 0/5] Make cpuid <-> nodeid mapping persistent.

2015-11-18 Thread Tang Chen
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

[PATCH v3 1/5] x86, memhp, numa: Online memory-less nodes at boot time.

2015-11-18 Thread Tang Chen
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

[PATCH v3 4/5] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2015-11-18 Thread Tang Chen
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&

[PATCH v3 3/5] x86, acpi, cpu-hotplug: Introduce cpuid_to_apicid[] array to store persistent cpuid <-> apicid mapping.

2015-11-18 Thread Tang Chen
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

[PATCH v3 5/5] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2015-11-18 Thread Tang Chen
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

Re: [PATCH V7] mm: memory hot-add: memory can not be added to movable zone defaultly

2015-10-21 Thread Tang Chen
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

Re: [PATCH V7] mm: memory hot-add: memory can not be added to movable zone defaultly

2015-10-21 Thread Tang Chen
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,

Re: [PATCH V7] mm: memory hot-add: memory can not be added to movable zone defaultly

2015-10-21 Thread Tang Chen
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

Re: [PATCH V7] mm: memory hot-add: memory can not be added to movable zone defaultly

2015-10-21 Thread Tang Chen
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

Re: [PATCH] mm: skip if required_kernelcore is larger than totalpages

2015-10-13 Thread Tang Chen
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

Re: [PATCH] mm: skip if required_kernelcore is larger than totalpages

2015-10-13 Thread Tang Chen
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

Re: [PATCH] mm: skip if required_kernelcore is larger than totalpages

2015-10-13 Thread Tang Chen
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

Re: [PATCH] mm: skip if required_kernelcore is larger than totalpages

2015-10-13 Thread Tang Chen
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

Re: [PATCH V6] mm: memory hot-add: memory can not be added to movable zone defaultly

2015-10-11 Thread Tang Chen
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

Re: [PATCH V6] mm: memory hot-add: memory can not be added to movable zone defaultly

2015-10-11 Thread Tang Chen
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

Re: [PATCH V6] mm: memory hot-add: memory can not be added to movable zone defaultly

2015-10-09 Thread Tang Chen
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 +

Re: [PATCH V6] mm: memory hot-add: memory can not be added to movable zone defaultly

2015-10-09 Thread Tang Chen
...@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

Re: [PATCH] mm: fix overflow in find_zone_movable_pfns_for_nodes()

2015-09-30 Thread Tang Chen
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

Re: [PATCH] mm: fix overflow in find_zone_movable_pfns_for_nodes()

2015-09-30 Thread Tang Chen
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

Re: [PATCH v2 5/7] x86, acpi, cpu-hotplug: Introduce apicid_to_cpuid[] array to store persistent cpuid <-> apicid mapping.

2015-09-27 Thread Tang Chen
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

Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.

2015-09-27 Thread Tang Chen
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

Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.

2015-09-27 Thread Tang Chen
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

Re: [PATCH v2 5/7] x86, acpi, cpu-hotplug: Introduce apicid_to_cpuid[] array to store persistent cpuid <-> apicid mapping.

2015-09-27 Thread Tang Chen
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

Re: [PATCH v2 5/7] x86, acpi, cpu-hotplug: Introduce apicid_to_cpuid[] array to store persistent cpuid <-> apicid mapping.

2015-09-26 Thread Tang Chen
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

Re: [PATCH v2 4/7] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2015-09-26 Thread Tang Chen
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

Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.

2015-09-26 Thread Tang Chen
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,

Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.

2015-09-26 Thread Tang Chen
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

Re: [PATCH v2 4/7] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2015-09-26 Thread Tang Chen
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

Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.

2015-09-26 Thread Tang Chen
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

Re: [PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.

2015-09-26 Thread Tang Chen
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,

Re: [PATCH v2 5/7] x86, acpi, cpu-hotplug: Introduce apicid_to_cpuid[] array to store persistent cpuid <-> apicid mapping.

2015-09-26 Thread Tang Chen
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

[PATCH v2 5/7] x86, acpi, cpu-hotplug: Introduce apicid_to_cpuid[] array to store persistent cpuid <-> apicid mapping.

2015-09-09 Thread Tang Chen
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:

[PATCH v2 3/7] x86, gfp: Cache best near node for memory allocation.

2015-09-09 Thread Tang Chen
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

[PATCH v2 2/7] x86, numa: Introduce a node to node array to map a node to its best online node.

2015-09-09 Thread Tang Chen
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

[PATCH v2 4/7] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2015-09-09 Thread Tang Chen
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-

[PATCH v2 1/7] x86, numa: Move definition of find_near_online_node() forward.

2015-09-09 Thread Tang Chen
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

[PATCH v2 6/7] x86, acpi, cpu-hotplug: Enable MADT APIs to return disabled apicid.

2015-09-09 Thread Tang Chen
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

[PATCH v2 7/7] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2015-09-09 Thread Tang Chen
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-

[PATCH v2 0/7] Make cpuid <-> nodeid mapping persistent.

2015-09-09 Thread Tang Chen
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

[PATCH v2 2/7] x86, numa: Introduce a node to node array to map a node to its best online node.

2015-09-09 Thread Tang Chen
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

[PATCH v2 4/7] x86, acpi, cpu-hotplug: Enable acpi to register all possible cpus at boot time.

2015-09-09 Thread Tang Chen
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

[PATCH v2 7/7] x86, acpi, cpu-hotplug: Set persistent cpuid <-> nodeid mapping when booting.

2015-09-09 Thread Tang Chen
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 +

[PATCH v2 0/7] Make cpuid <-> nodeid mapping persistent.

2015-09-09 Thread Tang Chen
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   2   3   4   5   6   7   8   9   10   >