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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 481E3C6FD1C for ; Wed, 22 Mar 2023 13:36:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D5FA56B0071; Wed, 22 Mar 2023 09:36:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D10EE6B0072; Wed, 22 Mar 2023 09:36:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B8A506B0075; Wed, 22 Mar 2023 09:36:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id A9CB96B0071 for ; Wed, 22 Mar 2023 09:36:24 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4BFD7C03DC for ; Wed, 22 Mar 2023 13:36:23 +0000 (UTC) X-FDA: 80596633446.09.0015C32 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf17.hostedemail.com (Postfix) with ESMTP id 9909C40016 for ; Wed, 22 Mar 2023 13:36:18 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=FvKCWpDT; spf=pass (imf17.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.43 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679492180; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=v9tsSLr2gKHRL2li14w21bwR7c77uC0kvuQ3Pz9+kQE=; b=AlvhzSMwG16c9pyFL49cwTa8OaNe0f9eLssHz828WqZdp5+CPIo5Fauquuon0KEzXueVi5 5DF2lNrYxAxvQ26ORF7rLn52tx/ht+oylc0/+ZMAaq6TvY1CovJ6kt70XcqGcMJII6tWxM JfrcMxI8FPMppLbjTUvW5Lrey+QFuIc= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=FvKCWpDT; spf=pass (imf17.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.43 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1679492180; a=rsa-sha256; cv=fail; b=kx8ZKvetZdMj3mrcu+l4UXl1qo/Q66ZUdWdWR8mn/RNC8D0n3fI6QUz+DX9wzpu/6PZgpj bauQ3pT8gse5MmJ3TkK92mgZh+xLUCbU94qbUxzGjr/MEGiqeT8KymJDj7a7HgfNJMB3eu anbFYQx1OUSidtZVeffYE9Ql0rjjjFE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679492178; x=1711028178; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=mC1wESz6ww6Y4P2nnihZqqZPRiY+Ja9b00NOc2oqQgo=; b=FvKCWpDTo2dsYBtmb+xOJiSFp8kPEmizL6bV/kRLPB6QJy0ppW2aGaA1 HUo8W3sXBRRgZV47Y549bG0h8+OjpVTFDoBunfcuh6zlqr91EciGJ6O9R GHT8Pd7BVIDZDaLaYzB+ZWhlrs+T2fF3exzTGCd1m2nGwzJ84YAQbakpI mURzqmZpEbqS8HaagDoT/sQs2mtxlwKFCD3BCIYkD34Ptoj2wAQuzntux 75v7aJdqAp6bH+Cgk2Ykkh/7u32QVNY9Ie93tkRoCRI5YoX0zGNEitbPG i4CH1RCZnNcKzDO74ldv7odgskF0ABEp29fXTa19c+r195iLIEpOvnKVX w==; X-IronPort-AV: E=McAfee;i="6600,9927,10657"; a="425500885" X-IronPort-AV: E=Sophos;i="5.98,282,1673942400"; d="scan'208";a="425500885" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2023 06:36:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10657"; a="746314505" X-IronPort-AV: E=Sophos;i="5.98,282,1673942400"; d="scan'208";a="746314505" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga008.fm.intel.com with ESMTP; 22 Mar 2023 06:36:16 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 22 Mar 2023 06:36:16 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Wed, 22 Mar 2023 06:36:16 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.172) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Wed, 22 Mar 2023 06:36:15 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jreyutPJOsDUHV+4c8DZiDTD8JjqQh6j5IJMDLp6+JYkRbFHlKm2FjwkhyTourC54DnIdISXpAbUV0XvpL2giOAtMv1pNW0HAMJzbX49ZtqWq7ghtl9tI/tiQeAjzfCSJ2bheKnmqR1kFXLb5C2MqIIqd3aJhiuMFSZenCqNz7wBhvmc+hfgB+BNLQxb+DNjxPymlKrE2zLkLg5ZNd4rtAC7LeRCMZXJVkcbfLMypDUl+zAEdzxjITdQvrPVHlg/jhIko3e3iEnaxnqoO+A7LXawlaMcmKQzGPNQZ5q9PDv48Utyd9w0kl4PhW4Sxvy5e971SZM76Sgldz2Urx3Z2A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=v9tsSLr2gKHRL2li14w21bwR7c77uC0kvuQ3Pz9+kQE=; b=c9mcXZFe5OdzVD4hA2wGWQq6FuFxW6bQQL3rjz2wT7R50wvQXfSxnHDBenZzRXmR6qdobnSBxriplkf1LtN8DkTTTVuyszxV7nfbvjTGFr+E8yTAXMCr2p5vSVbZ07yqpwyY43+UZnU8d/dTTHzGnQJekTh9wQVMZgNZc+zCk6rZIuaS46yhSxd5te5GIce7KVJOYsU1zFOkEuB62DEwmyzVVd2n6KqznYj46Mw1pkPpmhF8KmVr6fQL/DrutV3wTpcqQIk3JaNs8MVZJgbQc55a4AYeyIjJLGq0LxH197uxdML8NpyrEzr5gkCU2G0jYNu4m81fJc0NAQ9+gwyQOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) by IA1PR11MB7774.namprd11.prod.outlook.com (2603:10b6:208:3f2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 13:36:13 +0000 Received: from CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::8073:f55d:5f64:7c6]) by CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::8073:f55d:5f64:7c6%8]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023 13:36:13 +0000 Message-ID: <7b63b922-9c19-b1ed-a6f6-72e1b25f38f6@intel.com> Date: Wed, 22 Mar 2023 21:36:04 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.9.0 Subject: Re: [RFC PATCH 0/6] variable-order, large folios for anonymous memory To: Ryan Roberts , Andrew Morton , "Matthew Wilcox (Oracle)" , Yu Zhao CC: , References: <20230317105802.2634004-1-ryan.roberts@arm.com> Content-Language: en-US From: "Yin, Fengwei" In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SGAP274CA0013.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b6::25) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|IA1PR11MB7774:EE_ X-MS-Office365-Filtering-Correlation-Id: 809ec83f-ed04-4cc5-0c0a-08db2ada676f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ytH1Kttbqgq+aYHeQKKboec58PLKOnLkCxwdNfZS6/TD620nPwsFs/DzUfK3eLp9I7VNtwExDMf6h9nsui2vXfofNAtRlgPP7XsSO9z2lnr/cblgObtc6TPoEqtZv6Fg1ZVSbYyP/43G9MzCzqlaql5q4hqxFo97WubD4jyAlqU0Ww4JmTx96ReDofIhf9o7NLBmpvXYbQhTg9L31+S/qn/n6TeH9krj4cs/GWZcD1IohH3VFtvMsrLrPn2SbK+rb6iQJGnZ9KPLXjDqTbAGYaJ8MThcJkWq1Lcl6tpPFPg8Re4WucrP0Qm833T1KJf6Cj7LCNMtIw+atqdmmkap922oVM8DXLOuOT30QSo4mbaQpGE79eXwB6VuRl+aiEc4muQ9MuODMiUCls9ikU0xFaHm4HoNxLPVb0glbWRSxuIaKSCeS5jhXHawl4MGVezV8GFZaBUj0yG1h4IDVnbGYIRX0T197cmIPRI8MkVGiDj3sw9dk5U3lBTryJfDGAbWqWrmIVmyzVv8mk5gdDH8yDHp6qPT6tPQd2QpzsOWzj5oxc+9YHzhmhcfcLvLudrPBal2sgzy0UVgqOcQcTIIsOY89INoQZE23n6g/7Ozg+EcQjHG/SkNzzlUaz3X8HVX824aQuoSkUkLVckRSKjrCOwTr7mehcEYOeLodlARFKGcCbbuKNaJBzECB5FnEFtpzBt0HpOAdh2mZA0I8mIEZVPfCIerxccwmy8X/I1b248= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4820.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(346002)(376002)(366004)(396003)(451199018)(6512007)(6506007)(186003)(53546011)(26005)(6486002)(31686004)(2616005)(316002)(110136005)(83380400001)(6666004)(478600001)(4326008)(66476007)(8936002)(66946007)(41300700001)(82960400001)(36756003)(8676002)(66556008)(5660300002)(2906002)(86362001)(38100700002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SFd6MjVmUmFORThvY25SaHpxd3lnNWpGdXE5MFBsdnl4cS9pVE04bEZsRnA3?= =?utf-8?B?Uy9HNkMvMFNDa0xrSmllWTJHUlhuNTQ3OS8wTzJYOEcwb3J1UXBhLy92QXVo?= =?utf-8?B?c05nMnRYcVh4cFRaRm0reEVXaitLWEM2OGtZYkN5NHhhK1ZkT1pocUZOT3Zr?= =?utf-8?B?NVhaTHRVdVRxclI3SXdkOUZpWEdCV1FUT1BINzArUVhYNkZnNkl2aSs1MUJu?= =?utf-8?B?blp6Rnc1Z2JNTlcrVjNBbzhzV2RORktqVzdCUHVKYUNFNFE0czIvSXZEMHh5?= =?utf-8?B?Z0dWL0I5K1BMcStPcktaeGVSaVMyZnZJZDJCV2diMnZGZkxGbGlPWVpTY3JZ?= =?utf-8?B?dklzR2YrSDN3QzExZEo4Y29iS1dIdzJmenNBcmxYK3k2Y0pMMnFzNU5jZUFV?= =?utf-8?B?UEMydkNoVzd1REpvR1pGVWxtdmI1YzErUVlzTGp4UnZZQzhrSFZzR0NOZGdQ?= =?utf-8?B?SVNqS0w0cHhFdExqQS9iRE13SW9qbURCaGE4WmQ3NFFpanZLTnN6amNxS3kv?= =?utf-8?B?ME9PSFlKdFUxcC82SUZaVHIxS1BHUXBLWFhldEVzazhLOFNCMjNZZ09HbHBr?= =?utf-8?B?KzdJSHI2bWwrc2w4ZTI4YVpUdGtyMmlGeTROdlp0V1NPYTZMM0dpLyt5Q0Uw?= =?utf-8?B?WGFvVEU5NUpzT1ViTWhiWjE0ZVN4bVdZcWFSNi9aUzZuQnJ1ZW8yamRKUGt4?= =?utf-8?B?b0RTd0VXM2lYcGhkRUo5NnB6dktmTTdWUUxpZ2NxQ0ZKdUt6U1haWDN2Sk5W?= =?utf-8?B?QUZrZzZJUnFCOEx1OUV4cDlnWXNYSDR1SUN3ZGduVjhKV3Q2Q0ZXaFl4dVdS?= =?utf-8?B?MlppdDE3cUh1UlQ3eGl1YndudUM3MithQW5rRFZkRlpFelJJbkJOeitOc2lr?= =?utf-8?B?THVNdDhSRERhYnZsSzNnN1Axc2MxdGRsQ0k3alB0R2tBRms3bVVZQ2o1TW41?= =?utf-8?B?OEZBZnRHaDBsZUxVRlRCN0Vka3BSalU2SGdCK0d5cUVaYjhLa2pMQWVSTkJs?= =?utf-8?B?Vzg4ZDg2SC8rZENhbWo2OER6NThJZHlITWxXYXhGUENWL0FoWStmVGcvQ2VF?= =?utf-8?B?endxcEFmZ3dLUjdaTlNXSHlCVVVrcDBNZjRscHdvenVyZEFHN1NrNWdYbGtT?= =?utf-8?B?aE5nNjJhYVdOMk1Yenc3UWg0bGZpZHZHWFVISUdCOFNKUkprNjJTSmt0VEJL?= =?utf-8?B?MDV6MFJ2Y3pEd1o1c2NCMUtEQ1hQRFk3cXIwam5CSW82N2NvNUVkTjVpQnBM?= =?utf-8?B?Qjk4R3R2aHlnMktSbFB2MGltblZ5QmpGVjdVNU1zK3NNN2tlbU15U0g1dm9m?= =?utf-8?B?Z2N6TXFOTFV6em95RWd4cmhIZFcvT1pOV3dyZjM3SmF0SGw0YmNCZHVmM0di?= =?utf-8?B?dXJXOWsrRlJLbFkwK1E5Wmx3Z0xCV25aLzQ1bWJFVjE0NXBWTXQyN0ZIWWZ5?= =?utf-8?B?bUJEeEdsWXhBWlJ3QmdCRndidW9ONjVmNVdPTU0wbUYyWEE4UjViODUyZWp6?= =?utf-8?B?NDJkVnJrN3FvTEIwUDdETmZlMDhuU28vNDlTVDgwMDhMbjFTWHZuYWE5NWcr?= =?utf-8?B?VU1CUU92VDAyRnlzbmNnWlJqUWpMb2RRTFhjeHVhbGQvMVlVeGV1SjI2N3cz?= =?utf-8?B?S1JZdnpHL0g0bE1CUU5sWHV5RHBCVTVYL1lmOFpLRkFaSHZQd2thT05uako4?= =?utf-8?B?K0l4S1ladHg4bVdvekhCVXl2MGpxaERoQkVnK3g0ZmlFQ3RDbFZLN2srYXJx?= =?utf-8?B?eE5HT0UxViszLzUyZmNjRWIxT0JhbDZ2bnEyL2FGMHZwRUUvcS8wR1JRb0NU?= =?utf-8?B?Vmpsc3orVzhqL1JVYmMyN21iWFBJclBDVVVvWXgreURjajBMWlk5YnErSHdP?= =?utf-8?B?Q3czM3B6dnVhZEY2d0syeG1tRmI1SHFRcnozYmM0QUc4M1hVTjhKR1ZqQzJW?= =?utf-8?B?M0d5MTFuV3M3NDdCa0dOOUtna3A5a244MURTQ0RqK1RFM0YyeCtyVE55Qllq?= =?utf-8?B?ei9MbkxFOFROZTNYUU5hYzdGSGd2VW0rMUp4c05pMVhmRFppT3lWNW90U0VH?= =?utf-8?B?Sy91OW13M29YY2xqVEFwT2Irdnp4K1pqcHJFZ2Ftb1p2anpmUWVsdG9acEgz?= =?utf-8?B?NXlSK1BkVjVkeWxoSnBuRmQ1TVp3dSt0N3YvYXFDUWFPOGZhdjNRWlhjeVgy?= =?utf-8?B?SlE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 809ec83f-ed04-4cc5-0c0a-08db2ada676f X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 13:36:13.1655 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: u6EeVTeyYO15Lg0/E48suggEUevjBOcPF7Vxo1gjMbjBTpihH8FSonnE6FDPFKDGvHHbbiLA/jO/HpKwdy3j4A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB7774 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 9909C40016 X-Stat-Signature: xf6q9ubykhqn7xpmztjyoft3ffnbexsf X-HE-Tag: 1679492178-247382 X-HE-Meta: U2FsdGVkX1/gbQA7aJ0um+WrQNMpqgrT+LxkzSL1ERFa4NgzQ0K+ckNqt3syUYutwHIE2a4cH5qqg8ZTcbI8JTdWFfKoSOedk5D6hUxdpSINJFKco8Uuh6Mz21OefgdZ+4MiFhrwyQUVbhLtU201X457mOYfumeqwT0F9butGjv2uAgsxuBk3D8WA0GNNoPb5kx8w1K2Nvjlk9LPTjeJghLTNee++LtN8tPnAgBIx8++0j82jig8S8ETdpu0fHTezGUC4pn4iiBVigGCT9a5YIDn7LyhKR5GhrQIgB7mDlRXw/oXnMXjNR8MNhSBupLtXlruwndfgNFkBAKXoeZ3OR0Cj7JFcj7CvbKdfI9Lv7T9zg9FTR/qjKkRR7QpZqmc02U7e9hvxkClpUlPEo7v3AiHIHnjByvbnI0xpBe1TNy0fhdWw7IOAETbqjPDT8DXuotbZNk58FfPQa3L0MRiFeJoxQuKyWv+l9fgDIahSmYStOj5wb8/yr6m4zRgBA8rQAOA2l/yatmJEx8z47DbIy3BDh7HNInRdSGWZlD0wIJ1K17qIv/KeZPTar5EKFGWfg5z+8eT/bu0SFtC19h5mms8dC8N6WztIS79Pue/bvB/ms1GX5Zy7yUEXmSRbQ5up1tnFF+urfI5bL0KX1ZygXONlZGx78t5C1H8XuYoxUUaYJy8DnGSQKgc17c0cWeFKPb9vJzEA+NrUk+W1CL73gqO4kX2inebtmpkbLuW8kLqmPrllE+j27yKL/QqD6UEMHCCW7z4NwW5kETMbpLIMfLlzlQawxfrqTIjxmOsD8MnEKGSs4zoRokbt1ZbAy3O5Yl84lwx/4PLE8WD0zKK1vMbJ+MvE8A9lmaaJ5vG4OaS4uU8jzwbwkqHEPQuvLu687KWSiYf+sUlKOA7g/I/LQh/aRd6dkiGfNowMSO4tAda2gjy54vVtNsBNJeatVKr0Xk0TnJd3Zopq3ink2+ U7E76RxG GNHcLWyrUbLgW1glY+IeZq3G6YxkBWDOnAisgCcV1UiLi9EW/Mnx8NrCtW6DEbrw1P140Ern31tFPVIW+3mxLioZbX+MonwnNdABKza8VuJ/MUYj2V9LKbWl2xCOvK3PM0EQ9rAgpMlkD3E3sV4koVdpvgsU2QH5Ne+5Pzyq5SS1g8BJ69KrzOkHyYPuj3A6iWvStPi0TI3DjOcSJoaJlrUNKsDkXEMnFOIXqprm9JVWH0FpXvyODrd5BMnw/9fJWDK8xq75fQHwPgdhSDunb/3a0Mp6yOmjjYTi27SVhLqNfg9s= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 3/22/2023 8:03 PM, Ryan Roberts wrote: > Hi Matthew, > > On 17/03/2023 10:57, Ryan Roberts wrote: >> Hi All, >> >> [...] >> >> Bug(s) >> ====== >> >> When I run this code without the last (workaround) patch, with DEBUG_VM et al, >> PROVE_LOCKING and KASAN enabled, I see occasional oopses. Mostly these are >> relating to invalid kernel addresses (which usually look like either NULL + >> small offset or mostly zeros with a few mid-order bits set + a small offset) or >> lockdep complaining about a bad unlock balance. Call stacks are often in >> madvise_free_pte_range(), but I've seen them in filesystem code too. (I can >> email example oopses out separately if anyone wants to review them). My hunch is >> that struct pages adjacent to the folio are being corrupted, but don't have hard >> evidence. >> >> When adding the workaround patch, which prevents madvise_free_pte_range() from >> attempting to split a large folio, I never see any issues. Although I'm not >> putting the system under memory pressure so guess I might see the same types of >> problem crop up under swap, etc. >> >> I've reviewed most of the code within split_folio() and can't find any smoking >> gun, but I wonder if there are implicit assumptions about the large folio being >> PMD sized that I'm obviously breaking now? >> >> The code in madvise_free_pte_range(): >> >> if (folio_test_large(folio)) { >> if (folio_mapcount(folio) != 1) >> goto out; >> folio_get(folio); >> if (!folio_trylock(folio)) { >> folio_put(folio); >> goto out; >> } >> pte_unmap_unlock(orig_pte, ptl); >> if (split_folio(folio)) { >> folio_unlock(folio); >> folio_put(folio); >> orig_pte = pte_offset_map_lock(mm, pmd, addr, &ptl); >> goto out; >> } >> ... >> } > > I've noticed that its folio_split() with a folio order of 1 that causes my > problems. And I also see that the page cache code always explicitly never > allocates order-1 folios: > > void page_cache_ra_order(struct readahead_control *ractl, > struct file_ra_state *ra, unsigned int new_order) > { > ... > > while (index <= limit) { > unsigned int order = new_order; > > /* Align with smaller pages if needed */ > if (index & ((1UL << order) - 1)) { > order = __ffs(index); > if (order == 1) > order = 0; > } > /* Don't allocate pages past EOF */ > while (index + (1UL << order) - 1 > limit) { > if (--order == 1) > order = 0; > } > err = ra_alloc_folio(ractl, index, mark, order, gfp); > if (err) > break; > index += 1UL << order; > } > > ... > } > > Matthew, what is the reason for this? I suspect its guarding against the same > problem I'm seeing. > > If I explicitly prevent order-1 allocations for anon pages, I'm unable to cause > any oops/panic/etc. I'd just like to understand the root cause. Checked the struct folio definition. The _deferred_list is in third page struct. My understanding is to support folio split, the folio order must >= 2. Thanks. Regards Yin, Fengwei > > Thanks, > Ryan > > > >> >> Will normally skip my large folios because they have a mapcount > 1, due to >> incrementing mapcount for each pte, unlike PMD mapped pages. But on occasion it >> will see a mapcount of 1 and proceed. So I guess this is racing against reclaim >> or CoW in this case? >> >> I also see its doing a dance to take the folio lock and drop the ptl. Perhaps my >> large anon folio is not using the folio lock in the same way as a THP would and >> we are therefore not getting the expected serialization? >> >> I'd really appreciate any suggestions for how to pregress here! >> >