From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F1BDC433DB for ; Tue, 12 Jan 2021 14:24:51 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9DB552312E for ; Tue, 12 Jan 2021 14:24:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9DB552312E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=windriver.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 8C5496B017B; Tue, 12 Jan 2021 09:24:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 876816B017F; Tue, 12 Jan 2021 09:24:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 73DEF6B0180; Tue, 12 Jan 2021 09:24:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0001.hostedemail.com [216.40.44.1]) by kanga.kvack.org (Postfix) with ESMTP id 570B26B017B for ; Tue, 12 Jan 2021 09:24:49 -0500 (EST) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 8427B3622 for ; Tue, 12 Jan 2021 14:24:47 +0000 (UTC) X-FDA: 77697344214.23.egg58_2c1071927516 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin23.hostedemail.com (Postfix) with ESMTP id 66D4837604 for ; Tue, 12 Jan 2021 14:24:47 +0000 (UTC) X-HE-Tag: egg58_2c1071927516 X-Filterd-Recvd-Size: 9480 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2051.outbound.protection.outlook.com [40.107.244.51]) by imf42.hostedemail.com (Postfix) with ESMTP for ; Tue, 12 Jan 2021 14:24:45 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f2qTTrBOs0ybTPIoI8IM/0cKOEdZyds046PEZLA9W5yHqo9VRZaFamsMTl5qhhT5nTwsE4Ndt1KoO36kuXAcpBpp15WuFLSjOX3Jc3p8wyBg/e9mJGvCdU+Q39spDfD/unsBVbjdjXBiNH8usCmJb5cnerYetjby6fWoaJElCYgbY9DecQq3u1UN3YdCy+tEtJQAsBZI6pjxEMntFSsEtXFm1Kx8t00fMvNoN3zwJGNOyqOwTsSFDxbFbmbYWy73XRSReXX09vYw2+0nulPUtpYRLUJwqrE1tu0cu/Ld7JTaRnMolemM0p5ZCvVqBAE3lo7kU1iZiwIjA97+P6Rkyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jJmN3Spk75QBBY7VeQ/clj0BV01jqV8zOQ1XfuuQQ58=; b=PgPK2NyT2l/toqZSxkeae8+L2DmlfN+JzlHAUem42Dtz8yWnCWV1BKtJt6bNNEWWKk0LM6u9d9y//iGpP0WmpcB7RmVXIsXGp5De4776q60PEI0Dgr+YstBCfXbSAPpYyeix8Yg/3sJ4ej5t6/VW2DGIOnNIMGlbNCM3ytuFO2bxePNHe3Bje7R7x1OXE0zCUIl+a1upGypnCMPycFlKLGt3HxQo90/gzFQ+JxjfDoRhRSjxqVOZprNVnPmCUnnpyOiUz0Ycy/b6wdHq/lmNX0ta5hCl7lv7mNmCjFc6wZkaCp/RRaEWuiMF6y4sXupvBbfKrk5swgbVSvLZ/CkzlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriversystems.onmicrosoft.com; s=selector2-windriversystems-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jJmN3Spk75QBBY7VeQ/clj0BV01jqV8zOQ1XfuuQQ58=; b=I2wG/hM/JRDDv0ugMnipd+7t+SWE3k1+lqfDY+4qSM4k5WK+lbQeusHkL0zklLKS+ymFnFtLcoO3Vs11hpso0ETiO4ce3FwNejIoncA5G2uluLMDg53LY1mGXqTXYJuzzD6fLyg6cJLiE3F5wXIp7RXEKeseAul0GADYOpNdG7A= Authentication-Results: kvack.org; dkim=none (message not signed) header.d=none;kvack.org; dmarc=none action=none header.from=windriver.com; Received: from BY5PR11MB4241.namprd11.prod.outlook.com (2603:10b6:a03:1ca::13) by BYAPR11MB3110.namprd11.prod.outlook.com (2603:10b6:a03:8a::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.12; Tue, 12 Jan 2021 14:24:42 +0000 Received: from BY5PR11MB4241.namprd11.prod.outlook.com ([fe80::89db:d2c3:7a57:75a6]) by BY5PR11MB4241.namprd11.prod.outlook.com ([fe80::89db:d2c3:7a57:75a6%2]) with mapi id 15.20.3742.012; Tue, 12 Jan 2021 14:24:42 +0000 From: "Xu, Yanfei" Subject: mm: Question about the race condition of pages in buddy during isolating pages To: Vlastimil Babka Cc: Linux Memory Management List Message-ID: <3521dc6a-a38b-37d3-4a8a-3d10dcf687b7@windriver.com> Date: Tue, 12 Jan 2021 22:24:34 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [60.247.85.82] X-ClientProxiedBy: HK2PR04CA0044.apcprd04.prod.outlook.com (2603:1096:202:14::12) To BY5PR11MB4241.namprd11.prod.outlook.com (2603:10b6:a03:1ca::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [128.224.162.160] (60.247.85.82) by HK2PR04CA0044.apcprd04.prod.outlook.com (2603:1096:202:14::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Tue, 12 Jan 2021 14:24:41 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7186fa70-6b9b-4daf-0f81-08d8b705cdb3 X-MS-TrafficTypeDiagnostic: BYAPR11MB3110: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: x9A4JvJRIYzXw6cAKHLiT3w4VfoBONF0CxmdV27wKVTh2RdJBkYYnweeNFbEJa2nVTx8cH25g0yy1TRUlGwJqXFjlfCZp/L4CvZG+8z3Cp6T7rujhHYeJFyOMk47he5F1dViOm/qeT0rKoTY+JGcTXOPF2aB8PnaGLLsslK62lGVkVs15nUQa7Uu1IXTc2WHlZBb8fmPfF9ayi5MwVv0uuwuiJLSUNRrNAlsv6qSodjQtsO/PZQKPtLHODl/u3Y0VzAnK72sg6r7sTZH0nLHQgOttcO27MEHbC5WV6vtUCvqQoQvUXs7TCycxd5RP5pvguk7LfKE0W1viymTvemN2lYfycH1mi9DOr2bF0Cvv3weOjQQMJCmEgd5TaCNWSbWg58+NMv4gOon9LZ5aZRo3pHE+2G+asnskyPoYMM5NnzXb5s3cgNOsS54HQusjoiszBjuv2g7PAXZfI1de0ZCC6PDJxo44BvNZciQ8R+ZzLsFm9vFFQKsjiRKoG2hnVwMjAImSHdltitdsqbp9nt+0Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB4241.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39840400004)(366004)(376002)(346002)(136003)(83380400001)(66476007)(2616005)(66946007)(956004)(186003)(86362001)(31696002)(26005)(52116002)(6486002)(16526019)(66556008)(36756003)(6666004)(6916009)(2906002)(8936002)(5660300002)(31686004)(8676002)(6706004)(478600001)(316002)(16576012)(4326008)(87944003)(78286007)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?RFhvaXA3aTIzdzBnamhrMmVDSlM4VHk1aUhGK3NFV0tYYzgyak1pa3grR2dY?= =?utf-8?B?ZXBEaVhKSEhoQ0pqT3phUTdld0RJbXhzekNvZFlWTW5zMjVrbEU3UmE0U3ox?= =?utf-8?B?UjNmSjYyUjVGckdkbWdpVStTVXRNemNvUnBrOEw2Z0tpVnQybDFnOVAxVXdS?= =?utf-8?B?WWE3Um5VVjdZQWM3bG9MQlA0YUdBZ3k3TzM5MG9SMitHc1FCeHNGcWttWm03?= =?utf-8?B?NGJEdXhrQk5pdGJ3MDA2bjArK21BS09qakNxZHNjM2RySlFjRklFcXBUN0g2?= =?utf-8?B?WWxrbU5yUFFleWpLcUhyRjQ2bnNURmxpKzZSVW5YbldzbStzWmdmMXhrSHc3?= =?utf-8?B?NWkybmRwRThsQnFrK04rRzRLQ2JyRThmRFlCbkEvRHIwVlhoTWE1RTNzUEE0?= =?utf-8?B?Z1M1WnNqUldpZTZKcG1EaitVbzFsWXgrbVdYZTgzL1F2YThIYUhlUjdGS0FL?= =?utf-8?B?Z0dhdGxtajF3b1pBRS92TnNwVjFJNnFGclRreDNwNjB6Z1lYSmluUGdZQkJL?= =?utf-8?B?ZTJqZkxEbkNZbUE4NkNyQVM1OWpIU01HV05ZaGIxVnAzZ3JKbHhYaVFqd3ll?= =?utf-8?B?bzdDOGh3eTBLSlpoOXAvS1R5bURtemZKd1g5MkUxRDgyKzNJWGZIcFFRc3Jn?= =?utf-8?B?anVybWVPNTFFRmtRNUwrZ1ZSYzVrbDNlbWdSTWdIMStvL0VTR1pZNWdFYnhT?= =?utf-8?B?b1g1V3FUV0IwUlR2Y0VBTkZUNUhFbjVSQ1djT0Vta3JDenNNeG0wZ0hMZERF?= =?utf-8?B?S3hMQjNQeUVWUE01bkxzS0w3NWtIdnJZUzhKWjEvcFFwQWRNbHRoNXBkRk4r?= =?utf-8?B?V1NlaUtjNjNjKzRxd2dTMVVoQlJxL2ExZG94UC9rcmhDeHdzV0FXaU5FUEFE?= =?utf-8?B?SStOUmROazhyaFVaeVVWSG9RR0llZnV5eGE1UFR6MndKYUVrS0tqM2J6SWZs?= =?utf-8?B?cmprVWl4TnR6VEgzeWRnMWdHdjBXNTdtT0dRWXVtejNBdVRPVXBNck1SNk43?= =?utf-8?B?QkFQQWZ6MnY1VkVUZFM5dS9MdHVZVGh0cnlObjAxa3U3a0xvdDNXdndmTm1V?= =?utf-8?B?ckU5dlpTaGM0dXIzTE9Yc1BibDZIcWtxbmJ6a2t1K1ZoWTMwL0ZDWkZ0cW1C?= =?utf-8?B?SW11SVBGaEJlM2dGeGUrdUY0d2JUN3R0YldyWC9WV0NOYUhQRHN0OUxwVTFD?= =?utf-8?B?RDBQTEpoYmdsS0hzRmIxVlB3VUIzZ294SnBDVmZYRHpjeUVpVGtkWGpFYUZ2?= =?utf-8?B?cDloNlI4VFIxTG84N05tN3d0WEtYL1ZDREZ4V0ZqQkZkVkNXbld4Nkc2MEdZ?= =?utf-8?Q?aAxIRQ6MPyCEdo7zuVJFnQfJ8kHHvBf/sA?= X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4241.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2021 14:24:42.5669 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-Network-Message-Id: 7186fa70-6b9b-4daf-0f81-08d8b705cdb3 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MY/56MVporopA3FqWV3dqyeuTGBFZKzExaUYRcq04bujoVsnEIw3tuUlbW93lqhtp5nBTZoa8Zr5Ed5W6gSrgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3110 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000010, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi Vlastimil, When I inspect the the codes about isolating pages, there are some lines from you make me confused. As blow: Locate in isolate_migratepages_block() mm/compaction.c 908 /* 909 * Skip if free. We read page order here without zone lock 910 * which is generally unsafe, but the race window is small and 911 * the worst thing that can happen is that we skip some 912 * potential isolation targets. 913 */ 914 if (PageBuddy(page)) { 915 unsigned long freepage_order = buddy_order_unsafe(page); 916 917 /* 918 * Without lock, we cannot be sure that what we got is 919 * a valid page order. Consider only values in the 920 * valid order range to prevent low_pfn overflow. 921 */ 922 if (freepage_order > 0 && freepage_order < MAX_ORDER)) 923 low_pfn += (1UL << freepage_order) - 1; 924 continue; 925 } These lines was isntroduced by the commit 99c0fd5e51c("mm, compaction: skip buddy pages by their order in the migrate scanner") What I don't understand is that "the samll race window" mentioned in comments is which situation. I think before the isolate_migratepages_block() function is involved, those pageblocks have been marked MIGRATE_ISOLATE by set_migratetype_isolate() in start_isolate_page_range(). So the pages of those pageblocks in buddy will not be allocated, then the buddy_order_unsafe() here will get a certainly correct order value. Could you please tell me what situation it will race with? :) Thanks, Yanfei