From: Michal Hocko <mhocko@kernel.org> To: Wei Yang <richard.weiyang@gmail.com> Cc: Linux-MM <linux-mm@kvack.org>, Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mgorman@suse.de>, Vlastimil Babka <vbabka@suse.cz>, Andrea Arcangeli <aarcange@redhat.com>, Reza Arbab <arbab@linux.vnet.ibm.com>, Yasuaki Ishimatsu <yasu.isimatu@gmail.com>, Xishi Qiu <qiuxishi@huawei.com>, Kani Toshimitsu <toshi.kani@hpe.com>, slaoub@gmail.com, Joonsoo Kim <js1304@gmail.com>, Daniel Kiper <daniel.kiper@oracle.com>, Igor Mammedov <imammedo@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, LKML <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 2/2] mm, memory_hotplug: remove zone restrictions Date: Fri, 30 Jun 2017 10:39:26 +0200 [thread overview] Message-ID: <20170630083926.GA22923@dhcp22.suse.cz> (raw) In-Reply-To: <CADZGycaXs-TsVN2xy_rpFE_ML5_rs=iYN6ZQZsAfjTVHFyLyEQ@mail.gmail.com> On Fri 30-06-17 11:09:51, Wei Yang wrote: > On Thu, Jun 29, 2017 at 3:35 PM, Michal Hocko <mhocko@kernel.org> wrote: > > From: Michal Hocko <mhocko@suse.com> > > > > Michal, > > I love the idea very much. > > > Historically we have enforced that any kernel zone (e.g ZONE_NORMAL) has > > to precede the Movable zone in the physical memory range. The purpose of > > the movable zone is, however, not bound to any physical memory restriction. > > It merely defines a class of migrateable and reclaimable memory. > > > > There are users (e.g. CMA) who might want to reserve specific physical > > memory ranges for their own purpose. Moreover our pfn walkers have to be > > prepared for zones overlapping in the physical range already because we > > do support interleaving NUMA nodes and therefore zones can interleave as > > well. This means we can allow each memory block to be associated with a > > different zone. > > > > Loosen the current onlining semantic and allow explicit onlining type on > > any memblock. That means that online_{kernel,movable} will be allowed > > regardless of the physical address of the memblock as long as it is > > offline of course. This might result in moveble zone overlapping with > > other kernel zones. Default onlining then becomes a bit tricky but still > > As here mentioned, we just remove the restriction for zone_movable. > For other zones, we still keep the restriction and the order as before. All other zones except for ZONE_NORMAL are subject of the physical memory restrictions. > Maybe the title is a little misleading. Audience may thinks no restriction > for all zones. I thought the context was clear from the fact that this is a hotplug related patch. As such we do not allow online_{dma,dma32,normal} we only allow to online into a kernel zone. I can update the wording but do not have a good idea how. [...] > As I spotted on the previous patch, after several round of online/offline, > The output of valid_zones will differ. > > For example in this case, after I offline memory37 and 41, I expect this: > > memory34/valid_zones:Normal > memory35/valid_zones:Normal Movable > memory36/valid_zones:Normal Movable > memory37/valid_zones:Normal Movable > memory38/valid_zones:Normal Movable > memory39/valid_zones:Normal Movable > memory40/valid_zones:Normal Movable > memory41/valid_zones:Normal Movable > > While the current result would be > > memory34/valid_zones:Normal > memory35/valid_zones:Normal Movable > memory36/valid_zones:Normal Movable > memory37/valid_zones:Movable Normal > memory38/valid_zones:Movable Normal > memory39/valid_zones:Movable Normal > memory40/valid_zones:Movable Normal > memory41/valid_zones:Movable Normal You haven't written your sequence of onlining but if you used the same one as mentioned in the patch then you should get memory34/valid_zones:Normal memory35/valid_zones:Normal Movable memory36/valid_zones:Normal Movable memory37/valid_zones:Normal Movable memory38/valid_zones:Normal Movable memory39/valid_zones:Normal memory40/valid_zones:Movable Normal memory41/valid_zones:Movable Normal Even if you kept 37 as movable and offline 38 you wouldn't get 38-41 movable by default because... > The reason is the same, we don't adjust the zone's range when offline > memory. .. of this. > This is also a known issue? yes and to be honest I do not plan to fix it unless somebody has a real life usecase for it. Now that we allow explicit onlininig type anywhere it seems like a reasonable behavior and this will allow us to remove quite some code which is always a good deal wrt longterm maintenance. Thanks! -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Wei Yang <richard.weiyang@gmail.com> Cc: Linux-MM <linux-mm@kvack.org>, Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mgorman@suse.de>, Vlastimil Babka <vbabka@suse.cz>, Andrea Arcangeli <aarcange@redhat.com>, Reza Arbab <arbab@linux.vnet.ibm.com>, Yasuaki Ishimatsu <yasu.isimatu@gmail.com>, Xishi Qiu <qiuxishi@huawei.com>, Kani Toshimitsu <toshi.kani@hpe.com>, slaoub@gmail.com, Joonsoo Kim <js1304@gmail.com>, Daniel Kiper <daniel.kiper@oracle.com>, Igor Mammedov <imammedo@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, LKML <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 2/2] mm, memory_hotplug: remove zone restrictions Date: Fri, 30 Jun 2017 10:39:26 +0200 [thread overview] Message-ID: <20170630083926.GA22923@dhcp22.suse.cz> (raw) In-Reply-To: <CADZGycaXs-TsVN2xy_rpFE_ML5_rs=iYN6ZQZsAfjTVHFyLyEQ@mail.gmail.com> On Fri 30-06-17 11:09:51, Wei Yang wrote: > On Thu, Jun 29, 2017 at 3:35 PM, Michal Hocko <mhocko@kernel.org> wrote: > > From: Michal Hocko <mhocko@suse.com> > > > > Michal, > > I love the idea very much. > > > Historically we have enforced that any kernel zone (e.g ZONE_NORMAL) has > > to precede the Movable zone in the physical memory range. The purpose of > > the movable zone is, however, not bound to any physical memory restriction. > > It merely defines a class of migrateable and reclaimable memory. > > > > There are users (e.g. CMA) who might want to reserve specific physical > > memory ranges for their own purpose. Moreover our pfn walkers have to be > > prepared for zones overlapping in the physical range already because we > > do support interleaving NUMA nodes and therefore zones can interleave as > > well. This means we can allow each memory block to be associated with a > > different zone. > > > > Loosen the current onlining semantic and allow explicit onlining type on > > any memblock. That means that online_{kernel,movable} will be allowed > > regardless of the physical address of the memblock as long as it is > > offline of course. This might result in moveble zone overlapping with > > other kernel zones. Default onlining then becomes a bit tricky but still > > As here mentioned, we just remove the restriction for zone_movable. > For other zones, we still keep the restriction and the order as before. All other zones except for ZONE_NORMAL are subject of the physical memory restrictions. > Maybe the title is a little misleading. Audience may thinks no restriction > for all zones. I thought the context was clear from the fact that this is a hotplug related patch. As such we do not allow online_{dma,dma32,normal} we only allow to online into a kernel zone. I can update the wording but do not have a good idea how. [...] > As I spotted on the previous patch, after several round of online/offline, > The output of valid_zones will differ. > > For example in this case, after I offline memory37 and 41, I expect this: > > memory34/valid_zones:Normal > memory35/valid_zones:Normal Movable > memory36/valid_zones:Normal Movable > memory37/valid_zones:Normal Movable > memory38/valid_zones:Normal Movable > memory39/valid_zones:Normal Movable > memory40/valid_zones:Normal Movable > memory41/valid_zones:Normal Movable > > While the current result would be > > memory34/valid_zones:Normal > memory35/valid_zones:Normal Movable > memory36/valid_zones:Normal Movable > memory37/valid_zones:Movable Normal > memory38/valid_zones:Movable Normal > memory39/valid_zones:Movable Normal > memory40/valid_zones:Movable Normal > memory41/valid_zones:Movable Normal You haven't written your sequence of onlining but if you used the same one as mentioned in the patch then you should get memory34/valid_zones:Normal memory35/valid_zones:Normal Movable memory36/valid_zones:Normal Movable memory37/valid_zones:Normal Movable memory38/valid_zones:Normal Movable memory39/valid_zones:Normal memory40/valid_zones:Movable Normal memory41/valid_zones:Movable Normal Even if you kept 37 as movable and offline 38 you wouldn't get 38-41 movable by default because... > The reason is the same, we don't adjust the zone's range when offline > memory. .. of this. > This is also a known issue? yes and to be honest I do not plan to fix it unless somebody has a real life usecase for it. Now that we allow explicit onlininig type anywhere it seems like a reasonable behavior and this will allow us to remove quite some code which is always a good deal wrt longterm maintenance. Thanks! -- Michal Hocko SUSE Labs -- 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>
next prev parent reply other threads:[~2017-06-30 8:39 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-06-29 7:35 [RFC PATCH 0/2] mm, memory_hotplug: remove zone onlining restriction Michal Hocko 2017-06-29 7:35 ` Michal Hocko 2017-06-29 7:35 ` [PATCH 1/2] mm, memory_hotplug: display allowed zones in the preferred ordering Michal Hocko 2017-06-29 7:35 ` Michal Hocko 2017-06-30 0:45 ` Joonsoo Kim 2017-06-30 0:45 ` Joonsoo Kim 2017-07-07 14:34 ` Vlastimil Babka 2017-07-07 14:34 ` Vlastimil Babka 2017-06-29 7:35 ` [PATCH 2/2] mm, memory_hotplug: remove zone restrictions Michal Hocko 2017-06-29 7:35 ` Michal Hocko 2017-06-30 1:16 ` Joonsoo Kim 2017-06-30 1:16 ` Joonsoo Kim 2017-06-30 3:09 ` Wei Yang 2017-06-30 3:09 ` Wei Yang 2017-06-30 8:39 ` Michal Hocko [this message] 2017-06-30 8:39 ` Michal Hocko 2017-06-30 9:39 ` Wei Yang 2017-06-30 9:39 ` Wei Yang 2017-06-30 9:55 ` Michal Hocko 2017-06-30 9:55 ` Michal Hocko 2017-06-30 11:01 ` Michal Hocko 2017-06-30 11:01 ` Michal Hocko 2017-07-05 23:16 ` Wei Yang 2017-07-06 6:56 ` Michal Hocko 2017-07-06 6:56 ` Michal Hocko 2017-07-07 8:37 ` Wei Yang 2017-07-07 12:41 ` Michal Hocko 2017-07-07 12:41 ` Michal Hocko 2017-07-07 15:02 ` Vlastimil Babka 2017-07-07 15:02 ` Vlastimil Babka 2017-07-10 6:45 ` Michal Hocko 2017-07-10 6:45 ` Michal Hocko 2017-07-10 11:11 ` Vlastimil Babka 2017-07-10 11:11 ` Vlastimil Babka 2017-07-10 11:17 ` Michal Hocko 2017-07-10 11:17 ` Michal Hocko 2017-07-10 12:12 ` Vlastimil Babka 2017-07-10 12:12 ` Vlastimil Babka 2017-07-10 12:30 ` Michal Hocko 2017-07-10 12:30 ` Michal Hocko 2017-07-12 12:49 ` Michal Hocko 2017-07-12 12:49 ` Michal Hocko 2017-07-14 12:12 [PATCH 0/2] mm, memory_hotplug: remove zone onlining restriction Michal Hocko 2017-07-14 12:12 ` [PATCH 2/2] mm, memory_hotplug: remove zone restrictions Michal Hocko 2017-07-14 12:12 ` Michal Hocko 2017-07-14 12:17 ` Vlastimil Babka 2017-07-14 12:17 ` Vlastimil Babka 2017-07-14 14:26 ` Reza Arbab 2017-07-14 14:26 ` Reza Arbab
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=20170630083926.GA22923@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=aarcange@redhat.com \ --cc=akpm@linux-foundation.org \ --cc=arbab@linux.vnet.ibm.com \ --cc=daniel.kiper@oracle.com \ --cc=imammedo@redhat.com \ --cc=js1304@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mgorman@suse.de \ --cc=qiuxishi@huawei.com \ --cc=richard.weiyang@gmail.com \ --cc=slaoub@gmail.com \ --cc=toshi.kani@hpe.com \ --cc=vbabka@suse.cz \ --cc=vkuznets@redhat.com \ --cc=yasu.isimatu@gmail.com \ /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: linkBe 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.