From: Tang Chen <tangchen@cn.fujitsu.com>
To: rob@landley.net, tglx@linutronix.de, mingo@redhat.com,
hpa@zytor.com, yinghai@kernel.org, akpm@linux-foundation.org,
wency@cn.fujitsu.com, trenn@suse.de, liwanp@linux.vnet.ibm.com,
mgorman@suse.de, walken@google.com, riel@redhat.com,
khlebnikov@openvz.org, tj@kernel.org, minchan@kernel.org,
m.szyprowski@samsung.com, mina86@mina86.com,
laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
linfeng@cn.fujitsu.com, jiang.liu@huawei.com,
kosaki.motohiro@jp.fujitsu.com, guz.fnst@cn.fujitsu.com
Cc: x86@kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [RFC PATCH part2 0/4] Allow allocating pagetable on local node in movablemem_map.
Date: Wed, 27 Mar 2013 09:43:15 +0800 [thread overview]
Message-ID: <51524EB3.5080002@cn.fujitsu.com> (raw)
In-Reply-To: <1363857676-30694-1-git-send-email-tangchen@cn.fujitsu.com>
Hi Yinghai,
Would you please help to review this patch-set ?
And how do you think of the memblock flag idea ?
FYI, Liu Jiang has proposed a similar idea before.
https://lkml.org/lkml/2012/12/6/422
But we may have the following difference:
1) It is a flag, not a tag, which means a range may have several
different attributes.
2) Mark node-lify-cycle data, and put it on local node, and free
it when hot-removing.
3) Mark and reserve movable memory, as you did.
Thanks. :)
On 03/21/2013 05:21 PM, Tang Chen wrote:
> Hi Yinghai, all,
>
> This patch-set is based on Yinghai's tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-x86-mm
>
> For main line, we need to apply Yinghai's
> "x86, ACPI, numa: Parse numa info early" patch-set first.
> Please refer to:
> v1: https://lkml.org/lkml/2013/3/7/642
> v2: https://lkml.org/lkml/2013/3/10/47
>
>
> In this part2 patch-set, we didi the following things:
> 1) Introduce a "bool hotpluggable" member into struct numa_memblk so that we are
> able to know which memory ranges in numa_meminfo are hotpluggable.
> All the related apis have been changed.
> 2) Introduce a new global variable "numa_meminfo_all" to store all the memory ranges
> recorded in SRAT, because numa_cleanup_meminfo() will remove ranges higher than
> max_pfn.
> We need full numa memory info to limit zone_movable_pfn[].
> 3) Move movablemem_map sanitization after memory mapping is initialized so that
> pagetable allocation will not be limited by movablemem_map.
>
>
> On the other hand, we may have another way to solve this problem:
>
> Not only pagetable and vmemmap pages, but also all the data whose life cycle is the
> same as a node, could be put on local node.
>
> 1) Introduce a flag into memblock, such as "LOCAL_NODE_DATA", to mark out which
> ranges have the same life cycle with node.
> 2) Only keep existing memory ranges in movablemem_map (no need to introduce
> numa_meminfo_all), and exclude these LOCAL_NODE_DATA ranges.
> 3) When hot-removing, we are able to find out these ranges, and free them first.
> This is very important.
>
> Also, hot-add logic needs to be modified, too. As Yinghai mentioned before, I think
> we can make memblock alive when memory is hot-added. And go with the same logic
> as it is when booting.
>
> How do you think?
>
>
> Tang Chen (4):
> x86, mm, numa, acpi: Introduce numa_meminfo_all to store all the numa
> meminfo.
> x86, mm, numa, acpi: Introduce hotplug info into struct numa_meminfo.
> x86, mm, numa, acpi: Consider hotplug info when cleanup numa_meminfo.
> x86, mm, numa, acpi: Sanitize movablemem_map after memory mapping
> initialized.
>
> arch/x86/include/asm/numa.h | 3 +-
> arch/x86/kernel/apic/numaq_32.c | 2 +-
> arch/x86/mm/amdtopology.c | 3 +-
> arch/x86/mm/numa.c | 161 +++++++++++++++++++++++++++++++++++++--
> arch/x86/mm/numa_internal.h | 1 +
> arch/x86/mm/srat.c | 141 +++++-----------------------------
> 6 files changed, 178 insertions(+), 133 deletions(-)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Tang Chen <tangchen@cn.fujitsu.com>
To: rob@landley.net, tglx@linutronix.de, mingo@redhat.com,
hpa@zytor.com, yinghai@kernel.org, akpm@linux-foundation.org,
wency@cn.fujitsu.com, trenn@suse.de, liwanp@linux.vnet.ibm.com,
mgorman@suse.de, walken@google.com, riel@redhat.com,
khlebnikov@openvz.org, tj@kernel.org, minchan@kernel.org,
m.szyprowski@samsung.com, mina86@mina86.com,
laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
linfeng@cn.fujitsu.com, jiang.liu@huawei.com,
kosaki.motohiro@jp.fujitsu.com, guz.fnst@cn.fujitsu.com
Cc: x86@kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [RFC PATCH part2 0/4] Allow allocating pagetable on local node in movablemem_map.
Date: Wed, 27 Mar 2013 09:43:15 +0800 [thread overview]
Message-ID: <51524EB3.5080002@cn.fujitsu.com> (raw)
In-Reply-To: <1363857676-30694-1-git-send-email-tangchen@cn.fujitsu.com>
Hi Yinghai,
Would you please help to review this patch-set ?
And how do you think of the memblock flag idea ?
FYI, Liu Jiang has proposed a similar idea before.
https://lkml.org/lkml/2012/12/6/422
But we may have the following difference:
1) It is a flag, not a tag, which means a range may have several
different attributes.
2) Mark node-lify-cycle data, and put it on local node, and free
it when hot-removing.
3) Mark and reserve movable memory, as you did.
Thanks. :)
On 03/21/2013 05:21 PM, Tang Chen wrote:
> Hi Yinghai, all,
>
> This patch-set is based on Yinghai's tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-x86-mm
>
> For main line, we need to apply Yinghai's
> "x86, ACPI, numa: Parse numa info early" patch-set first.
> Please refer to:
> v1: https://lkml.org/lkml/2013/3/7/642
> v2: https://lkml.org/lkml/2013/3/10/47
>
>
> In this part2 patch-set, we didi the following things:
> 1) Introduce a "bool hotpluggable" member into struct numa_memblk so that we are
> able to know which memory ranges in numa_meminfo are hotpluggable.
> All the related apis have been changed.
> 2) Introduce a new global variable "numa_meminfo_all" to store all the memory ranges
> recorded in SRAT, because numa_cleanup_meminfo() will remove ranges higher than
> max_pfn.
> We need full numa memory info to limit zone_movable_pfn[].
> 3) Move movablemem_map sanitization after memory mapping is initialized so that
> pagetable allocation will not be limited by movablemem_map.
>
>
> On the other hand, we may have another way to solve this problem:
>
> Not only pagetable and vmemmap pages, but also all the data whose life cycle is the
> same as a node, could be put on local node.
>
> 1) Introduce a flag into memblock, such as "LOCAL_NODE_DATA", to mark out which
> ranges have the same life cycle with node.
> 2) Only keep existing memory ranges in movablemem_map (no need to introduce
> numa_meminfo_all), and exclude these LOCAL_NODE_DATA ranges.
> 3) When hot-removing, we are able to find out these ranges, and free them first.
> This is very important.
>
> Also, hot-add logic needs to be modified, too. As Yinghai mentioned before, I think
> we can make memblock alive when memory is hot-added. And go with the same logic
> as it is when booting.
>
> How do you think?
>
>
> Tang Chen (4):
> x86, mm, numa, acpi: Introduce numa_meminfo_all to store all the numa
> meminfo.
> x86, mm, numa, acpi: Introduce hotplug info into struct numa_meminfo.
> x86, mm, numa, acpi: Consider hotplug info when cleanup numa_meminfo.
> x86, mm, numa, acpi: Sanitize movablemem_map after memory mapping
> initialized.
>
> arch/x86/include/asm/numa.h | 3 +-
> arch/x86/kernel/apic/numaq_32.c | 2 +-
> arch/x86/mm/amdtopology.c | 3 +-
> arch/x86/mm/numa.c | 161 +++++++++++++++++++++++++++++++++++++--
> arch/x86/mm/numa_internal.h | 1 +
> arch/x86/mm/srat.c | 141 +++++-----------------------------
> 6 files changed, 178 insertions(+), 133 deletions(-)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next prev parent reply other threads:[~2013-03-27 1:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-21 9:21 [RFC PATCH part2 0/4] Allow allocating pagetable on local node in movablemem_map Tang Chen
2013-03-21 9:21 ` Tang Chen
2013-03-21 9:21 ` [PATCH part2 1/4] x86, mm, numa, acpi: Introduce numa_meminfo_all to store all the numa meminfo Tang Chen
2013-03-21 9:21 ` Tang Chen
2013-03-21 9:21 ` [PATCH part2 2/4] x86, mm, numa, acpi: Introduce hotplug info into struct numa_meminfo Tang Chen
2013-03-21 9:21 ` Tang Chen
2013-03-21 9:21 ` [PATCH part2 3/4] x86, mm, numa, acpi: Consider hotplug info when cleanup numa_meminfo Tang Chen
2013-03-21 9:21 ` Tang Chen
2013-03-21 9:21 ` [PATCH part2 4/4] x86, mm, numa, acpi: Sanitize movablemem_map after memory mapping initialized Tang Chen
2013-03-21 9:21 ` Tang Chen
2013-03-27 1:43 ` Tang Chen [this message]
2013-03-27 1:43 ` [RFC PATCH part2 0/4] Allow allocating pagetable on local node in movablemem_map 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=51524EB3.5080002@cn.fujitsu.com \
--to=tangchen@cn.fujitsu.com \
--cc=akpm@linux-foundation.org \
--cc=guz.fnst@cn.fujitsu.com \
--cc=hpa@zytor.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=jiang.liu@huawei.com \
--cc=khlebnikov@openvz.org \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=laijs@cn.fujitsu.com \
--cc=linfeng@cn.fujitsu.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=liwanp@linux.vnet.ibm.com \
--cc=m.szyprowski@samsung.com \
--cc=mgorman@suse.de \
--cc=mina86@mina86.com \
--cc=minchan@kernel.org \
--cc=mingo@redhat.com \
--cc=riel@redhat.com \
--cc=rob@landley.net \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=trenn@suse.de \
--cc=walken@google.com \
--cc=wency@cn.fujitsu.com \
--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 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.