From: Toshi Kani <toshi.kani@hp.com>
To: Tang Chen <tangchen@cn.fujitsu.com>
Cc: Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com>,
yinghai@kernel.org, tglx@linutronix.de, mingo@elte.hu,
hpa@zytor.com, akpm@linux-foundation.org, tj@kernel.org,
trenn@suse.de, jiang.liu@huawei.com, wency@cn.fujitsu.com,
laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
mgorman@suse.de, minchan@kernel.org, mina86@mina86.com,
gong.chen@linux.intel.com, lwoodman@redhat.com, riel@redhat.com,
jweiner@redhat.com, prarit@redhat.com, x86@kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: Re: [Part3 PATCH v2 0/4] Support hot-remove local pagetable pages.
Date: Wed, 19 Jun 2013 09:18:31 -0600 [thread overview]
Message-ID: <1371655111.22206.29.camel@misato.fc.hp.com> (raw)
In-Reply-To: <51C15DC2.3030501@cn.fujitsu.com>
On Wed, 2013-06-19 at 15:29 +0800, Tang Chen wrote:
> Hi Vasilis, Yinghai,
>
> On 06/19/2013 01:05 AM, Vasilis Liaskovitis wrote:
> ......
> >
> > This could be a design problem of part3: if we allow local pagetable memory
> > to not be offlined but allow the offlining to return successfully, then
> > hot-remove is going to succeed. But the direct mapped pagetable pages are still
> > mapped in the kernel. The hot-removed memblocks will suddenly disappear (think
> > physical DIMMs getting disabled in real hardware, or in a VM case the
> > corresponding guest memory getting freed from the emulator e.g. qemu/kvm). The
> > system can crash as a result.
> >
>
> Yes. Since the pagetable pages is only allocated to local node, a node may
> have more than one device, hot-remove only one memory device could be
> problematic.
>
> But I think it will work if we hot-remove a whole node. I should have
> mentioned it. And sorry for the not fully test.
>
> I think allocating pagetable pages to local device will resolve this problem.
> And need to restructure this patch-set.
>
> > I think these local pagetables do need to be unmapped from kernel, offlined and
> > removed somehow - otherwise hot-remove should fail. Could they be migrated
> > alternatively e.g. to node 0 memory? But Iiuc direct mapped pages cannot be
> > migrated, correct?
>
> I think we have unmapped the local pagetables. in functions
> free_pud/pmd/pte_table(), we cleared pud, pmd, and pte. We just didn't
> free the pagetable pages to buddy.
>
> But when we are not hot-removing the whole node, it is still problematic.
> This is true, and it is my design problem.
>
> >
> > What is the original reason for local node pagetable allocation with regards
> > to memory hotplug? I assume we want to have hotplugged nodes use only their local
> > memory, so that there are no inter-node memory dependencies for hot-add/remove.
> > Are there other reasons that I am missing?
>
> I think the original reason to do local node pagetable is to improve
> performance.
> Using local pagetable, vmemmap and so on will be faster.
>
> But actually I think there is no particular reason to implement memory hot-remove
> and local node pagetable at the same time. And before this patch-set, I also
> suggested once that implement memory hot-remove first, and then improve it to
> local pagetable. But Yinghai has done the local pagetable work in has
> patches (part1).
> And my work is based on his patches. So I just did it.
>
> But obviously it is more complicated than I thought.
>
> And now, it seems tj has some more thinking on part1.
>
> So how about the following plan:
> 1. Implement arranging hotpluggable memory with SRAT first, without
> local pagetable.
> (The main work in part2. And of course, need some patches in part1.)
> 2. Do the local device pagetable work, not local node.
> 3. Improve memory hotplug to support local device pagetable.
Sounds like a good plan. Thanks Tang!
-Toshi
--
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: Toshi Kani <toshi.kani@hp.com>
To: Tang Chen <tangchen@cn.fujitsu.com>
Cc: Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com>,
yinghai@kernel.org, tglx@linutronix.de, mingo@elte.hu,
hpa@zytor.com, akpm@linux-foundation.org, tj@kernel.org,
trenn@suse.de, jiang.liu@huawei.com, wency@cn.fujitsu.com,
laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
mgorman@suse.de, minchan@kernel.org, mina86@mina86.com,
gong.chen@linux.intel.com, lwoodman@redhat.com, riel@redhat.com,
jweiner@redhat.com, prarit@redhat.com, x86@kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: Re: [Part3 PATCH v2 0/4] Support hot-remove local pagetable pages.
Date: Wed, 19 Jun 2013 09:18:31 -0600 [thread overview]
Message-ID: <1371655111.22206.29.camel@misato.fc.hp.com> (raw)
In-Reply-To: <51C15DC2.3030501@cn.fujitsu.com>
On Wed, 2013-06-19 at 15:29 +0800, Tang Chen wrote:
> Hi Vasilis, Yinghai,
>
> On 06/19/2013 01:05 AM, Vasilis Liaskovitis wrote:
> ......
> >
> > This could be a design problem of part3: if we allow local pagetable memory
> > to not be offlined but allow the offlining to return successfully, then
> > hot-remove is going to succeed. But the direct mapped pagetable pages are still
> > mapped in the kernel. The hot-removed memblocks will suddenly disappear (think
> > physical DIMMs getting disabled in real hardware, or in a VM case the
> > corresponding guest memory getting freed from the emulator e.g. qemu/kvm). The
> > system can crash as a result.
> >
>
> Yes. Since the pagetable pages is only allocated to local node, a node may
> have more than one device, hot-remove only one memory device could be
> problematic.
>
> But I think it will work if we hot-remove a whole node. I should have
> mentioned it. And sorry for the not fully test.
>
> I think allocating pagetable pages to local device will resolve this problem.
> And need to restructure this patch-set.
>
> > I think these local pagetables do need to be unmapped from kernel, offlined and
> > removed somehow - otherwise hot-remove should fail. Could they be migrated
> > alternatively e.g. to node 0 memory? But Iiuc direct mapped pages cannot be
> > migrated, correct?
>
> I think we have unmapped the local pagetables. in functions
> free_pud/pmd/pte_table(), we cleared pud, pmd, and pte. We just didn't
> free the pagetable pages to buddy.
>
> But when we are not hot-removing the whole node, it is still problematic.
> This is true, and it is my design problem.
>
> >
> > What is the original reason for local node pagetable allocation with regards
> > to memory hotplug? I assume we want to have hotplugged nodes use only their local
> > memory, so that there are no inter-node memory dependencies for hot-add/remove.
> > Are there other reasons that I am missing?
>
> I think the original reason to do local node pagetable is to improve
> performance.
> Using local pagetable, vmemmap and so on will be faster.
>
> But actually I think there is no particular reason to implement memory hot-remove
> and local node pagetable at the same time. And before this patch-set, I also
> suggested once that implement memory hot-remove first, and then improve it to
> local pagetable. But Yinghai has done the local pagetable work in has
> patches (part1).
> And my work is based on his patches. So I just did it.
>
> But obviously it is more complicated than I thought.
>
> And now, it seems tj has some more thinking on part1.
>
> So how about the following plan:
> 1. Implement arranging hotpluggable memory with SRAT first, without
> local pagetable.
> (The main work in part2. And of course, need some patches in part1.)
> 2. Do the local device pagetable work, not local node.
> 3. Improve memory hotplug to support local device pagetable.
Sounds like a good plan. Thanks Tang!
-Toshi
next prev parent reply other threads:[~2013-06-19 15:18 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-13 13:03 [Part3 PATCH v2 0/4] Support hot-remove local pagetable pages Tang Chen
2013-06-13 13:03 ` Tang Chen
2013-06-13 13:03 ` [Part3 PATCH v2 1/4] bootmem, mem-hotplug: Register local pagetable pages with LOCAL_NODE_DATA when freeing bootmem Tang Chen
2013-06-13 13:03 ` Tang Chen
2013-06-13 14:16 ` Michal Nazarewicz
2013-06-14 5:37 ` Tang Chen
2013-06-14 5:37 ` Tang Chen
2013-06-13 13:03 ` [Part3 PATCH v2 2/4] mem-hotplug: Skip LOCAL_NODE_DATA pages in memory offline procedure Tang Chen
2013-06-13 13:03 ` Tang Chen
2013-06-13 17:17 ` Dave Hansen
2013-06-13 17:17 ` Dave Hansen
2013-06-14 5:45 ` Tang Chen
2013-06-14 5:45 ` Tang Chen
2013-06-13 13:03 ` [Part3 PATCH v2 3/4] mem-hotplug: Skip LOCAL_NODE_DATA pages in memory online procedure Tang Chen
2013-06-13 13:03 ` Tang Chen
2013-06-13 13:03 ` [Part3 PATCH v2 4/4] mem-hotplug: Do not free LOCAL_NODE_DATA pages to buddy system in hot-remove procedure Tang Chen
2013-06-13 13:03 ` Tang Chen
2013-06-17 1:58 ` [Part3 PATCH v2 0/4] Support hot-remove local pagetable pages Jianguo Wu
2013-06-17 1:58 ` Jianguo Wu
2013-06-17 2:07 ` Tang Chen
2013-06-17 2:07 ` Tang Chen
2013-06-18 17:05 ` Vasilis Liaskovitis
2013-06-18 17:05 ` Vasilis Liaskovitis
2013-06-18 23:59 ` Toshi Kani
2013-06-18 23:59 ` Toshi Kani
2013-06-19 2:58 ` Yasuaki Ishimatsu
2013-06-19 2:58 ` Yasuaki Ishimatsu
2013-06-19 15:32 ` Toshi Kani
2013-06-19 15:32 ` Toshi Kani
2013-06-19 7:29 ` Tang Chen
2013-06-19 7:29 ` Tang Chen
2013-06-19 10:00 ` Vasilis Liaskovitis
2013-06-19 10:00 ` Vasilis Liaskovitis
2013-06-19 15:18 ` Toshi Kani [this message]
2013-06-19 15:18 ` Toshi Kani
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=1371655111.22206.29.camel@misato.fc.hp.com \
--to=toshi.kani@hp.com \
--cc=akpm@linux-foundation.org \
--cc=gong.chen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=jiang.liu@huawei.com \
--cc=jweiner@redhat.com \
--cc=laijs@cn.fujitsu.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lwoodman@redhat.com \
--cc=mgorman@suse.de \
--cc=mina86@mina86.com \
--cc=minchan@kernel.org \
--cc=mingo@elte.hu \
--cc=prarit@redhat.com \
--cc=riel@redhat.com \
--cc=tangchen@cn.fujitsu.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=trenn@suse.de \
--cc=vasilis.liaskovitis@profitbricks.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.