From: Michal Hocko <mhocko@kernel.org> To: Xishi Qiu <qiuxishi@huawei.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>, linux-mm@kvack.org, Michael Ellerman <mpe@ellerman.id.au>, Vlastimil Babka <vbabka@suse.cz>, Andrew Morton <akpm@linux-foundation.org>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, Reza Arbab <arbab@linux.vnet.ibm.com>, Yasuaki Ishimatsu <yasu.isimatu@gmail.com>, Igor Mammedov <imammedo@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, LKML <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 1/2] mm: drop migrate type checks from has_unmovable_pages Date: Fri, 20 Oct 2017 10:17:00 +0200 Message-ID: <20171020081700.fec53qxieeqouhwi@dhcp22.suse.cz> (raw) In-Reply-To: <59E9A426.5070009@huawei.com> On Fri 20-10-17 15:22:14, Xishi Qiu wrote: > On 2017/10/20 10:13, Joonsoo Kim wrote: > > > On Thu, Oct 19, 2017 at 02:21:18PM +0200, Michal Hocko wrote: [...] > >> >From 8cbd811d741f5dd93d1b21bb3ef94482a4d0bd32 Mon Sep 17 00:00:00 2001 > >> From: Michal Hocko <mhocko@suse.com> > >> Date: Thu, 19 Oct 2017 14:14:02 +0200 > >> Subject: [PATCH] mm: distinguish CMA and MOVABLE isolation in > >> has_unmovable_pages > >> > >> Joonsoo has noticed that "mm: drop migrate type checks from > >> has_unmovable_pages" would break CMA allocator because it relies on > >> has_unmovable_pages returning false even for CMA pageblocks which in > >> fact don't have to be movable: > >> alloc_contig_range > >> start_isolate_page_range > >> set_migratetype_isolate > >> has_unmovable_pages > >> > >> This is a result of the code sharing between CMA and memory hotplug > >> while each one has a different idea of what has_unmovable_pages should > >> return. This is unfortunate but fixing it properly would require a lot > >> of code duplication. > >> > >> Fix the issue by introducing the requested migrate type argument > >> and special case MIGRATE_CMA case where CMA page blocks are handled > >> properly. This will work for memory hotplug because it requires > >> MIGRATE_MOVABLE. > > > > Unfortunately, alloc_contig_range() can be called with > > MIGRATE_MOVABLE so this patch cannot perfectly fix the problem. > > > > I did a more thinking and found that it's strange to check if there is > > unmovable page in the pageblock during the set_migratetype_isolate(). > > set_migratetype_isolate() should be just for setting the migratetype > > of the pageblock. Checking other things should be done by another > > place, for example, before calling the start_isolate_page_range() in > > __offline_pages(). > > > > Thanks. > > > > Hi Joonsoo, > > How about add a flag to skip or not has_unmovable_pages() in set_migratetype_isolate()? > Something like the skip_hwpoisoned_pages. I believe this is what Joonsoo was proposing actually. I cannot say I would like skip_hwpoisoned_pages and adding one more flag is just too ugly. So I would prefer to have something that would actually make sense from the semantic POV. If CMA really needs to work with partial CMA blocks then MIGRATE_CMA as an indicator sounds like the right way to go to me. But I am not a CMA expert so I might be missing some subtlety here. -- 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 index Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-09-18 7:08 [PATCH v2 0/2] mm, memory_hotplug: redefine memory offline retry logic Michal Hocko 2017-09-18 7:08 ` [PATCH 1/2] mm, memory_hotplug: do not fail offlining too early Michal Hocko 2017-10-10 12:05 ` Michael Ellerman 2017-10-10 12:27 ` Michal Hocko 2017-10-11 2:37 ` Michael Ellerman 2017-10-11 5:19 ` Michael Ellerman 2017-10-11 14:05 ` Anshuman Khandual 2017-10-11 14:16 ` Michal Hocko 2017-10-11 6:51 ` Michal Hocko 2017-10-11 8:04 ` Vlastimil Babka 2017-10-11 8:13 ` Michal Hocko 2017-10-11 11:17 ` Vlastimil Babka 2017-10-11 11:24 ` Michal Hocko 2017-10-13 11:42 ` Michael Ellerman 2017-10-13 11:58 ` Michal Hocko 2017-10-13 12:00 ` [PATCH 1/2] mm: drop migrate type checks from has_unmovable_pages Michal Hocko 2017-10-13 12:00 ` [PATCH 2/2] mm, page_alloc: fail has_unmovable_pages when seeing reserved pages Michal Hocko 2017-10-13 12:04 ` Vlastimil Babka 2017-10-13 12:07 ` Michal Hocko 2017-10-17 13:03 ` Vlastimil Babka 2017-10-17 11:41 ` [PATCH 1/2] mm: drop migrate type checks from has_unmovable_pages Michael Ellerman 2017-10-17 12:03 ` Michal Hocko 2017-10-17 13:02 ` Vlastimil Babka 2017-10-19 2:51 ` Joonsoo Kim 2017-10-19 7:15 ` Michal Hocko 2017-10-19 7:33 ` Joonsoo Kim 2017-10-19 8:20 ` Michal Hocko 2017-10-19 12:21 ` Michal Hocko 2017-10-20 2:13 ` Joonsoo Kim 2017-10-20 5:59 ` Michal Hocko 2017-10-20 6:50 ` Joonsoo Kim 2017-10-20 7:02 ` Michal Hocko 2017-10-23 5:23 ` Joonsoo Kim 2017-10-23 8:10 ` Michal Hocko 2017-10-24 4:44 ` Joonsoo Kim 2017-10-24 7:44 ` Michal Hocko 2017-10-24 8:12 ` Vlastimil Babka 2017-10-24 12:25 ` Michal Hocko 2017-10-26 2:47 ` Joonsoo Kim 2017-10-26 7:41 ` Michal Hocko 2017-10-20 7:22 ` Xishi Qiu 2017-10-20 8:17 ` Michal Hocko [this message] 2017-10-23 5:26 ` Joonsoo Kim 2017-10-26 13:04 ` Vlastimil Babka 2017-10-26 13:59 ` Michal Hocko 2017-09-18 7:08 ` [PATCH 2/2] mm, memory_hotplug: remove timeout from __offline_memory Michal Hocko [not found] <AM3PR04MB14892A9D6D2FBCE21B8C1F0FF12B0@AM3PR04MB1489.eurprd04.prod.outlook.com> 2017-11-13 7:33 ` [PATCH 1/2] mm: drop migrate type checks from has_unmovable_pages Ran Wang 2017-11-13 11:02 ` Michal Hocko 2017-11-14 6:10 ` Ran Wang 2017-11-14 7:06 ` Michal Hocko 2017-11-14 7:45 ` Ran Wang
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=20171020081700.fec53qxieeqouhwi@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=arbab@linux.vnet.ibm.com \ --cc=iamjoonsoo.kim@lge.com \ --cc=imammedo@redhat.com \ --cc=kamezawa.hiroyu@jp.fujitsu.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mpe@ellerman.id.au \ --cc=qiuxishi@huawei.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: link
Linux-mm Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-mm/0 linux-mm/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-mm linux-mm/ https://lore.kernel.org/linux-mm \ linux-mm@kvack.org public-inbox-index linux-mm Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kvack.linux-mm AGPL code for this site: git clone https://public-inbox.org/public-inbox.git