From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752573AbdKVMNs (ORCPT ); Wed, 22 Nov 2017 07:13:48 -0500 Received: from mail-co1nam03on0105.outbound.protection.outlook.com ([104.47.40.105]:19360 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752215AbdKVMNp (ORCPT ); Wed, 22 Nov 2017 07:13:45 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=zi.yan@cs.rutgers.edu; From: "Zi Yan" To: "Michal Hocko" Cc: "Naoya Horiguchi" , "Andrew Morton" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Andrea Reale" , "=?utf-8?b?SsOpcsO0bWU=?= Glisse" , stable@vger.kernel.org, "Kirill A. Shutemov" Subject: Re: [PATCH] mm: migrate: fix an incorrect call of prep_transhuge_page() Date: Wed, 22 Nov 2017 07:13:37 -0500 Message-ID: <896594C0-D9CE-4E95-BCAF-45BAD3E3DA2C@cs.rutgers.edu> In-Reply-To: <20171122101422.ny5tyyyje5dhx343@dhcp22.suse.cz> References: <20171121021855.50525-1-zi.yan@sent.com> <20171122085416.ycrvahu2bznlx37s@dhcp22.suse.cz> <26CA724E-070E-4D06-B75E-F1880B1F2CF9@cs.rutgers.edu> <20171122093510.baxsmzvvid7c7yrq@dhcp22.suse.cz> <20171122101422.ny5tyyyje5dhx343@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=_MailMate_66197C31-204F-46A9-BE3F-00FC02203FBA_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Mailer: MailMate (1.9.7r5425) X-Originating-IP: [108.53.61.194] X-ClientProxiedBy: SN4PR0201CA0044.namprd02.prod.outlook.com (10.162.76.30) To BN6PR14MB1651.namprd14.prod.outlook.com (10.171.176.17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ce66b218-0a0b-479f-2c59-08d531a27891 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603199);SRVR:BN6PR14MB1651; X-Microsoft-Exchange-Diagnostics: 1;BN6PR14MB1651;3:cSjs4ayc/pwF44v64hA5PAF+2zh+onrU+BrJkdEyoli8e9aKVIKD1TRsmzAc9Myqmf+AuUPwCO0fIQZij+S506k2H2O9rFRSuLGUrQn690PmrtBPReu0Djgal68aFL/7t84HHS4iHnkN/GIzeSmkzk23arjF1ebCAw22DWbkgPiupi1uCqUzUS4+CbfDvYBQpRy6EEiwcDP19wzHwaiCQh7jVaWQTL3BD4qtvjtZwH7MyPkgB6bF2onEAwzIFJgC;25:KPKnYDRqvXdj2MwQeORmd2OPmdwqAB34lJMRdTlGgjF7XiAfG5q/H25itGr24duFZZvrcm3vnV63PLYNr5MsqrfPi1N++lCDVM3oymoWL79vL06t31/AQq75ElIV2VDmyytB43ThMzxjiQvTiIsTE26bTb+e4W2JVJ8Vwm0T9zqrhV50GpTiPWaE4ooASOeJuNT+hYQ+Zq1dfxZIlMI3GZ7p7ERONwGpmiWhOO4c7wgEw5jwcvgCSl1Ni+gBjSP8VoMwteQnMsLoFaLmvsdoDC/l/TAhxmQ7nBJoypVjP/cnNJEYiqB6QbWyMm9JlL8U2ieCfjwnRLaJTpnoE5bEgkvJz0a7pFMsfpXlyBlt/24=;31:xEQJ3QnGLcTBO3oNmya1Sq6qUsPu+SQF+mNir5Bb2d2yuhUzyJvZwjfEOykDthnQvhiZaSeMk7J+ThrUyhdZWhs/miPhKCD2aN/hXgtQ6mYMi71d/JOSSYFOnO832XOSjTJ8tMjcwJmRRnn/MigqeA/UrjX/e1F1wVNbXYpQAypU0DWxP2NDmOJ7Z+HmpKbxBDID1e7LzOyRKox2sLYikhZFZtCZ2HWOk2LpHo9gO8Y= X-MS-TrafficTypeDiagnostic: BN6PR14MB1651: X-Microsoft-Exchange-Diagnostics: 1;BN6PR14MB1651;20:TPJU7rthSu2DNe5AtjW0FoJNMzINMq4irf0NshL4IjktU/zxMZUD2WhpaMAMHiATvx6lTOt9dcPqwmvp1U08OEZ14ibDXiNslGK9zRZMrVBxJLhm7tnhSrt8BE3P9a8gYQJA/k16HctSgrgDPs0aGPXzA+fYnU0nmQc61vpnjYHaNl0DcXzG9X1sBRvrFA3n87nZ5f/JZuxtq3gPExqKalKW4K7EKN5lpf2xf0viwpTmpCJvPtNmAy4GwVEzmkF4zB13ZQ8XvEA2l5svmGpkco5yWSvh3O+7m4ZjU3TMDBXGdt0IzbX6S9Qyr8kOAyy5soptnVl/WU/3FmcljzGqNHuDahcuTJ2lLdXguGthoy6IXGLdBTh7nTrovG4AeTzuuzON+fdqEKrEbw7MLj+S82ilKCZarllJhQ/HrI+zIX0HEmpoBgsKsyY/fFvsRFvZWzLN1tpYruGqL13Vvh7vOnh63bmk+18sOrxVzClbNd/GXUnk1QHv/AtpI9vN9UB9;4:844IE/cQMXJyqmzyjmeEpiqOJJML5jJQso9aFkSXT8UiRAY09GT+24TmmURnr95QBNDofZ9XGnsZ+pQ8gSBe3tkt/PJ07QvPg3YD8pfz4VOuGUw+POX+lCicCBpIaspspGvbAvX6J0YMhkXX0Q0kJTPC6rQob9oP9UNsq4OTB+s4hFdSXvgHty5GyNjna/bgEMnltlGnVpqCIyXrMado2AqNz67aNcv208YEFcopGqjojqiv5F4FKaBZfwYEn5oTHO1dCEJUf7jdglPFZRJq/kcu93fiGYdbuZZ0i1xKUEvP1R+i8DcEMFr+9uPoOz2e X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(58145275503218); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(11241501159)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3231022)(3002001)(100000703101)(100105400095)(6041248)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR14MB1651;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR14MB1651; X-Forefront-PRVS: 0499DAF22A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(6049001)(346002)(376002)(39860400002)(377424004)(199003)(24454002)(189002)(105586002)(76176999)(5660300001)(50986999)(966005)(101416001)(82746002)(75432002)(53936002)(6246003)(66066001)(16526018)(16586007)(316002)(93886005)(4326008)(106356001)(786003)(68736007)(54906003)(42882006)(2950100002)(50226002)(16576012)(6306002)(6666003)(6916009)(33656002)(53546010)(189998001)(77096006)(83716003)(88552002)(6486002)(81166006)(81156014)(6116002)(84326002)(90366009)(86362001)(8676002)(3846002)(229853002)(7736002)(25786009)(5890100001)(478600001)(8936002)(568964002)(117156002)(2906002)(97736004)(305945005)(72826003);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR14MB1651;H:[192.168.1.153];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR14MB1651;23:0ngruZhThF0SuX9s3fmiFjmwKYobSuDxrjEojUa5z?= =?us-ascii?Q?9IYCBR3vYNxgjfTp66/c7gEbjKaZ+nEQK21QrX2mQaqwCfqp6VrjJO5EhGiT?= =?us-ascii?Q?i6t7ZpsvnsMKV/5Ym5JLZesBy7gBqBlbXlcf2gmitWdT7/Ai7w3eZSqXg/CC?= =?us-ascii?Q?fhbMjX3eRVEmxEqwXgxc2wd7g86CBqnCbBujM8lpjDb2p9HSASBmlxdVFyAB?= =?us-ascii?Q?l/eVTGw3quEbEmpAT2yWm/EgA+0YtJ2B7z0WQGwnvToRGCSFxbac0xl65VaZ?= =?us-ascii?Q?4OHxqOtKa0P3IU8gQrYjeG83oYHizf+lF6GfmuFAcbjdQIqfGzMdabJg64V7?= =?us-ascii?Q?zkJp0wHPIYmesQTcYMZ/EgFgna0A90YDxxj9Ysyab5upFGbiowHXm8edxFXO?= =?us-ascii?Q?dzVDZe1awbIhZ61CyZzS4G0CnMSH/p4+mNjD1z7AkNBtX1XOvCZ3QQ08uGKL?= =?us-ascii?Q?jHBxRcY74l+GnEXMK7ORN1cC2RmwBEdR57CtVzlqOZQ4wLBqzqUs4Ku3mWrV?= =?us-ascii?Q?uwU1EieMP/3no3Z6t7bTOL3EeVEIIV6EN8qXTDwByPOq1EFtZWJt9NYdS9if?= =?us-ascii?Q?hIRc+w2XUlfiPr+YrHDjo4s9tJalP93rFMdmAtC0hTW/nlyNM0j16OXCYA/k?= =?us-ascii?Q?lK64K1zKvXcy3hX8OYVXOKY474bs3s+QItD2iqArItyYHVqRYX9uV741jcrL?= =?us-ascii?Q?uJoIMIz45WirNBB1s21jNLbvUv2crkL3iyUsrPyHSSX8rivx50kzLrExbSLz?= =?us-ascii?Q?ZlL7kMjthRW0B1KSTwzSgj4/JoFnFKavG94aXaS5aDqKA3O7KOCjGRYGNLsD?= =?us-ascii?Q?83K4Z2Ua+Ktn+JmCJKaOzlesOhYfeftCN5a6n0t/wUix2LREAAsXNl15jGWK?= =?us-ascii?Q?VhNOntwo/aKC+1/NEwMZywxabCv3DFwL+Am0xTMnSZuKAb11GieHGeFwaUTB?= =?us-ascii?Q?a7o6P0tMlcV67gsYpRsvLGu6b+lGlNCTg6CPu27ogxESLG0W1d8VqYEF/v1v?= =?us-ascii?Q?yZ26Pg4PvhSoWmznGYWXHwOAJfNAr0d8OKzcoMRG6O4Jdub5VDwSUsukga+E?= =?us-ascii?Q?kjZUgKsfMgYwOH88igwtl/Y1wg26dl/T0uM3u2w6mSjbHQ+hP/rrbxe3c2pN?= =?us-ascii?Q?Zi5szcR2N2P3m7oGW0bC3fmPvTLsu8K/FwPx20djqt41Oo3DF7+TYVYAOJq1?= =?us-ascii?Q?M1A2i22//PlmMBClZV3ZoZkmdEsNnB6zysW9iw+VcrPJLiB78+fvfpwV9oST?= =?us-ascii?Q?n91MPQpeTdEfZAij4whvXSNHLZBeDzlykkMAjohoXTugWDIqDhXZ2YaRdxa6?= =?us-ascii?Q?8AcNdrytfpsFi21HzCpeZS9S/PRz/93xiWDmPkqon4IBcLY+cewffDDGglFm?= =?us-ascii?Q?x8+QgzvTma0UVXnKItxhZi/FcFVclXLiWmNJ74n4ZYoCN9lDnjNQke1ly4J5?= =?us-ascii?Q?C7cqYsSlphfr4yoFuCakmgYBUNUJ0Q=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR14MB1651;6:jHgC5TZgNySXj614J+r0jixsMhkGAYuSW74NPduJhy/TKn62nx8mx8v8YVdkQYm3lQPjIMAfrNn0j4vg6+rIfBYqbEDipcOMVSHsxC1UB1okexKxiYVvbB69fIlaaL53qmncvR7X6g7Yc0SWrqn+cFveIgNR9jCcomJviTu5HfFxaDpOKdgr3DxrUMZdEBXg3lC4Hz+fYH46YUF7czR+z8j2cetoGuRk/JLhBYhPfRPRklPr0vMJnteP87LuLmeF2FRMPricErKVcn13k0th6207S4nHwH3czLPVCfVh4vw66cVZ7O7x6t5wElhU//Sn+pqq6QRvxcRKKkPxR/abRkPaAWJXZf1nNzO+XcTLWFw=;5:HkcG5Db2AH46TVFcCJvZHY845Mb0egQdXjzuA2Kg9+2ifhoWLGhKYqhyX5VuENc4lOCYqRqmFIu22ZidIL53zgTxdp0gCL2U9hc4/QJ2K+JQIXqkm895s8vJyz+6q/k71xbsxaRiRlVz0iv8X0mbDIgD0g+xTGVgLJMexK+nJls=;24:/iTHixkofTzknIsWLdzn/DN0T3maAXYqWDc9nw3Dnm1RPC4anPrrWuMoNdOku2Mke+0Yi0NQ9pAh0GwHAaZrRaND4lGr+0UdjbNo5qqZlMM=;7:zl4oHLCezICn5ekF2zN8GAJILWqixdn7tya2Gr0i0SFCyZPeBseXT1mNFm0sUfXRv1Py9t9IfUoKXiRiv9QP/AborZxvEJiUdhTdPBinyuMHfiaWgppWDqHn629m96fKogTrD6v7RnVuE/BM4skaRVuURRJGDF27hEBTUKjX27lKdljHarZpetA1Jxnzg8j5E8I34zNwiUW0AxdXhynOmp1eOmWgrML3tNyjIG7knzJPA4Y5gD4N3xe85KqVjh34 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cs.rutgers.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2017 12:13:40.9411 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ce66b218-0a0b-479f-2c59-08d531a27891 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b92d2b23-4d35-4470-93ff-69aca6632ffe X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR14MB1651 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is an OpenPGP/MIME signed message (RFC 3156 and 4880). --=_MailMate_66197C31-204F-46A9-BE3F-00FC02203FBA_= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 22 Nov 2017, at 5:14, Michal Hocko wrote: > On Wed 22-11-17 10:35:10, Michal Hocko wrote: > [...] >> Moreover I am not really sure this is really working properly. Just lo= ok >> at the split_huge_page. It moves all the tail pages to the LRU list >> while migrate_pages has a list of pages to migrate. So we will migrate= >> the head page and all the rest will get back to the LRU list. What >> guarantees that they will get migrated as well. > > OK, so this is as I've expected. It doesn't work! Some pfn walker based= > migration will just skip tail pages see madvise_inject_error. > __alloc_contig_migrate_range will simply fail on THP page see > isolate_migratepages_block so we even do not try to migrate it. > do_move_page_to_node_array will simply migrate head and do not care > about tail pages. do_mbind splits the page and then fall back to pte > walk when thp migration is not supported but it doesn't handle tail > pages if the THP migration path is not able to allocate a fresh THP > AFAICS. Memory hotplug should be safe because it doesn't skip the whole= > THP when doing pfn walk. > > Unless I am missing something here this looks like a huge mess to me. +Kirill First, I agree with you that splitting a THP and only migrating its head = page is a mess. But what you describe is also the behavior of migrate_page() _before_ THP migration support is added. I thought that was intended. Look at http://elixir.free-electrons.com/linux/v4.13.15/source/mm/migrate= =2Ec#L1091, unmap_and_move() splits THPs and only migrates the head page in v4.13 bef= ore THP migration is added. I think the behavior was introduced since v4.5 (I jus= t skimmed v4.0 to v4.13 code and did not have time to use git blame), before that T= HPs are not migrated but shown as successfully migrated (at least from v4.4=E2=80= =99s code). Naoya and I had a discussion on this =E2=80=98splitting a THP and migrati= ng its head page=E2=80=99 before. We think we should try to spilt the THP and migrate all its subpages. I d= id not have time to get the code out yet. I am traveling today, so I may not be able to do anything useful. I will = be on a break for a month and will not have good accesses to any machines. I can try to= fix this =E2=80=98splitting a THP and migrating its head page=E2=80=99 after = that. =E2=80=94 Best Regards, Yan Zi --=_MailMate_66197C31-204F-46A9-BE3F-00FC02203FBA_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQFKBAEBCgA0FiEEOXBxLIohamfZUwd5QYsvEZxOpswFAloVafEWHHppLnlhbkBj cy5ydXRnZXJzLmVkdQAKCRBBiy8RnE6mzMVeB/0aNK6coLK1hGrpCAwF+q8KF9d3 QDDO+QqE3MiMYYXRx3HGyfP+jH48b5kps43zVRWSCKCsdDd4IbtSpxIoRXn8kyrm bwdtO5ug8cnxnOS0ijb06TqufJZKoUkU2jPpglzpoMpLugn2hZAW+pL8jmCFqW9g BoNxe6md7MyJ0tyK8KcooSm7ZCAuL3TDAdHE8MXbaSMuDPaR4zmOAnQF4VDxf071 ktEz1Mn+KcCyIwIoFLo4u1f/hoAlGtKUu7NtaGEGN1MadeXwvJTTahcg3V8KapYk V/jcWUYfx0Rzsm25Zv4Nry569OnPFlYnocOjzax1J/0HoOAwtFjs8WmzTv89 =qqTS -----END PGP SIGNATURE----- --=_MailMate_66197C31-204F-46A9-BE3F-00FC02203FBA_=--