From: Michal Hocko <mhocko@kernel.org> To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Cc: Balbir Singh <bsingharora@gmail.com>, Laurent Dufour <ldufour@linux.vnet.ibm.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "akpm@linux-foundation.org" <akpm@linux-foundation.org> Subject: Re: [PATCH v2 2/2] mm: skip HWPoisoned pages when onlining pages Date: Fri, 28 Apr 2017 08:51:31 +0200 [thread overview] Message-ID: <20170428065131.GD8143@dhcp22.suse.cz> (raw) In-Reply-To: <20170428065050.GC8143@dhcp22.suse.cz> On Fri 28-04-17 08:50:50, Michal Hocko wrote: > [Drop Wen Congyang because his address bounces - we will have to find > out ourselves...] Ble, for real this time. Sorry about spamming > On Fri 28-04-17 08:30:48, Michal Hocko wrote: > > On Wed 26-04-17 03:13:04, Naoya Horiguchi wrote: > > > On Wed, Apr 26, 2017 at 12:10:15PM +1000, Balbir Singh wrote: > > > > On Tue, 2017-04-25 at 16:27 +0200, Laurent Dufour wrote: > > > > > The commit b023f46813cd ("memory-hotplug: skip HWPoisoned page when > > > > > offlining pages") skip the HWPoisoned pages when offlining pages, but > > > > > this should be skipped when onlining the pages too. > > > > > > > > > > Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com> > > > > > --- > > > > > mm/memory_hotplug.c | 4 ++++ > > > > > 1 file changed, 4 insertions(+) > > > > > > > > > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > > > > > index 6fa7208bcd56..741ddb50e7d2 100644 > > > > > --- a/mm/memory_hotplug.c > > > > > +++ b/mm/memory_hotplug.c > > > > > @@ -942,6 +942,10 @@ static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages, > > > > > if (PageReserved(pfn_to_page(start_pfn))) > > > > > for (i = 0; i < nr_pages; i++) { > > > > > page = pfn_to_page(start_pfn + i); > > > > > + if (PageHWPoison(page)) { > > > > > + ClearPageReserved(page); > > > > > > > > Why do we clear page reserved? Also if the page is marked PageHWPoison, it > > > > was never offlined to begin with? Or do you expect this to be set on newly > > > > hotplugged memory? Also don't we need to skip the entire pageblock? > > > > > > If I read correctly, to "skip HWPoiosned page" in commit b023f46813cd means > > > that we skip the page status check for hwpoisoned pages *not* to prevent > > > memory offlining for memblocks with hwpoisoned pages. That means that > > > hwpoisoned pages can be offlined. > > > > Is this patch actually correct? I am trying to wrap my head around it > > but it smells like it tries to avoid the problem rather than fix it > > properly. I might be wrong here of course but to me it sounds like > > poisoned page should simply be offlined and keep its poison state all > > the time. If the memory is hot-removed and added again we have lost the > > struct page along with the state which is the expected behavior. If it > > is still broken we will re-poison it. > > > > Anyway a patch to skip over poisoned pages during online makes perfect > > sense to me. The PageReserved fiddling around much less so. > > > > Or am I missing something. Let's CC Wen Congyang for the clarification > > here. > > -- > Michal Hocko > SUSE Labs -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Cc: Balbir Singh <bsingharora@gmail.com>, Laurent Dufour <ldufour@linux.vnet.ibm.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "akpm@linux-foundation.org" <akpm@linux-foundation.org> Subject: Re: [PATCH v2 2/2] mm: skip HWPoisoned pages when onlining pages Date: Fri, 28 Apr 2017 08:51:31 +0200 [thread overview] Message-ID: <20170428065131.GD8143@dhcp22.suse.cz> (raw) In-Reply-To: <20170428065050.GC8143@dhcp22.suse.cz> On Fri 28-04-17 08:50:50, Michal Hocko wrote: > [Drop Wen Congyang because his address bounces - we will have to find > out ourselves...] Ble, for real this time. Sorry about spamming > On Fri 28-04-17 08:30:48, Michal Hocko wrote: > > On Wed 26-04-17 03:13:04, Naoya Horiguchi wrote: > > > On Wed, Apr 26, 2017 at 12:10:15PM +1000, Balbir Singh wrote: > > > > On Tue, 2017-04-25 at 16:27 +0200, Laurent Dufour wrote: > > > > > The commit b023f46813cd ("memory-hotplug: skip HWPoisoned page when > > > > > offlining pages") skip the HWPoisoned pages when offlining pages, but > > > > > this should be skipped when onlining the pages too. > > > > > > > > > > Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com> > > > > > --- > > > > > mm/memory_hotplug.c | 4 ++++ > > > > > 1 file changed, 4 insertions(+) > > > > > > > > > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > > > > > index 6fa7208bcd56..741ddb50e7d2 100644 > > > > > --- a/mm/memory_hotplug.c > > > > > +++ b/mm/memory_hotplug.c > > > > > @@ -942,6 +942,10 @@ static int online_pages_range(unsigned long start_pfn, unsigned long nr_pages, > > > > > if (PageReserved(pfn_to_page(start_pfn))) > > > > > for (i = 0; i < nr_pages; i++) { > > > > > page = pfn_to_page(start_pfn + i); > > > > > + if (PageHWPoison(page)) { > > > > > + ClearPageReserved(page); > > > > > > > > Why do we clear page reserved? Also if the page is marked PageHWPoison, it > > > > was never offlined to begin with? Or do you expect this to be set on newly > > > > hotplugged memory? Also don't we need to skip the entire pageblock? > > > > > > If I read correctly, to "skip HWPoiosned page" in commit b023f46813cd means > > > that we skip the page status check for hwpoisoned pages *not* to prevent > > > memory offlining for memblocks with hwpoisoned pages. That means that > > > hwpoisoned pages can be offlined. > > > > Is this patch actually correct? I am trying to wrap my head around it > > but it smells like it tries to avoid the problem rather than fix it > > properly. I might be wrong here of course but to me it sounds like > > poisoned page should simply be offlined and keep its poison state all > > the time. If the memory is hot-removed and added again we have lost the > > struct page along with the state which is the expected behavior. If it > > is still broken we will re-poison it. > > > > Anyway a patch to skip over poisoned pages during online makes perfect > > sense to me. The PageReserved fiddling around much less so. > > > > Or am I missing something. Let's CC Wen Congyang for the clarification > > here. > > -- > Michal Hocko > SUSE Labs -- 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-04-28 6:51 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-04-25 14:27 [PATCH v2 0/2] BUG raised when onlining HWPoisoned page Laurent Dufour 2017-04-25 14:27 ` Laurent Dufour 2017-04-25 14:27 ` [PATCH v2 1/2] mm: Uncharge poisoned pages Laurent Dufour 2017-04-25 14:27 ` Laurent Dufour 2017-04-25 23:48 ` Naoya Horiguchi 2017-04-25 23:48 ` Naoya Horiguchi 2017-04-26 1:54 ` Balbir Singh 2017-04-26 1:54 ` Balbir Singh 2017-04-26 2:34 ` Naoya Horiguchi 2017-04-26 2:34 ` Naoya Horiguchi 2017-04-26 3:45 ` Balbir Singh 2017-04-26 3:45 ` Balbir Singh 2017-04-26 4:46 ` Naoya Horiguchi 2017-04-26 4:46 ` Naoya Horiguchi 2017-04-26 8:59 ` Balbir Singh 2017-04-26 8:59 ` Balbir Singh 2017-04-28 9:32 ` Laurent Dufour 2017-04-28 9:32 ` Laurent Dufour 2017-04-27 14:37 ` Michal Hocko 2017-04-27 14:37 ` Michal Hocko 2017-04-27 20:51 ` Andi Kleen 2017-04-27 20:51 ` Andi Kleen 2017-04-28 6:07 ` Michal Hocko 2017-04-28 6:07 ` Michal Hocko 2017-04-28 7:31 ` Michal Hocko 2017-04-28 7:31 ` Michal Hocko 2017-04-28 9:17 ` Laurent Dufour 2017-04-28 9:17 ` Laurent Dufour 2017-04-28 13:48 ` Michal Hocko 2017-04-28 13:48 ` Michal Hocko 2017-05-02 14:59 ` Laurent Dufour 2017-05-02 14:59 ` Laurent Dufour 2017-05-02 18:55 ` Michal Hocko 2017-05-02 18:55 ` Michal Hocko 2017-05-03 11:34 ` Laurent Dufour 2017-05-03 11:34 ` Laurent Dufour 2017-05-04 1:21 ` Balbir Singh 2017-05-04 1:21 ` Balbir Singh 2017-05-08 10:42 ` Laurent Dufour 2017-05-08 10:42 ` Laurent Dufour 2017-05-09 1:41 ` Balbir Singh 2017-05-09 1:41 ` Balbir Singh 2017-05-08 2:58 ` Naoya Horiguchi 2017-05-08 2:58 ` Naoya Horiguchi 2017-05-09 9:18 ` Michal Hocko 2017-05-09 9:18 ` Michal Hocko 2017-05-09 22:59 ` Naoya Horiguchi 2017-05-09 22:59 ` Naoya Horiguchi 2017-04-25 14:27 ` [PATCH v2 2/2] mm: skip HWPoisoned pages when onlining pages Laurent Dufour 2017-04-25 14:27 ` Laurent Dufour 2017-04-26 2:10 ` Balbir Singh 2017-04-26 2:10 ` Balbir Singh 2017-04-26 3:13 ` Naoya Horiguchi 2017-04-26 3:13 ` Naoya Horiguchi 2017-04-28 2:51 ` Balbir Singh 2017-04-28 2:51 ` Balbir Singh 2017-04-28 6:30 ` Michal Hocko 2017-04-28 6:30 ` Michal Hocko 2017-04-28 6:50 ` Michal Hocko 2017-04-28 6:50 ` Michal Hocko 2017-04-28 6:51 ` Michal Hocko [this message] 2017-04-28 6:51 ` Michal Hocko 2017-05-10 7:41 ` Michal Hocko 2017-05-10 7:41 ` Michal Hocko 2018-01-17 23:03 ` Andrew Morton 2018-01-17 23:03 ` Andrew Morton 2018-01-23 18:15 ` Laurent Dufour 2018-01-23 18:15 ` Laurent Dufour
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=20170428065131.GD8143@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=bsingharora@gmail.com \ --cc=ldufour@linux.vnet.ibm.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=n-horiguchi@ah.jp.nec.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.