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 94742C77B6E for ; Thu, 13 Apr 2023 17:47:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C1520900003; Thu, 13 Apr 2023 13:47:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BC45F900002; Thu, 13 Apr 2023 13:47:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A3E4F900003; Thu, 13 Apr 2023 13:47:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 95A26900002 for ; Thu, 13 Apr 2023 13:47:25 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 36AEA14019E for ; Thu, 13 Apr 2023 17:47:25 +0000 (UTC) X-FDA: 80677099650.26.57317E8 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf24.hostedemail.com (Postfix) with ESMTP id 8DB17180011 for ; Thu, 13 Apr 2023 17:47:20 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qkvSIGs7; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sx7aiOTv; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf24.hostedemail.com: domain of joao.m.martins@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=joao.m.martins@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681408040; 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=tKVY3QYToK2Ahmkg5ZTxIlekXlXfKr/N1TnVqnrOiRc=; b=iXycoKgiFGvB8e6/ub5PFYDBXt5Kx5n5B4jLjpEvCvLg4XDUUtwQnb9oluCGBHgCQBsktD x98PTRoxgE2GZiymfIR56aG6M71vG4uWQBn0sAIG9B9N3SEMLZgu+I2V3fymmHVcSmkJb+ iWyhIHh4FrsciaTlYtmQE+XZ4a3kNOs= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=qkvSIGs7; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=sx7aiOTv; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf24.hostedemail.com: domain of joao.m.martins@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=joao.m.martins@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1681408040; a=rsa-sha256; cv=pass; b=tzXxtNORpvYnwPeAuMbmew9adCiMafVeAJLPMJ0wVsUz0DJv7YpJOsVXTNi7RxVPVCgCiI 0vCZ88cwPWut4UwzY27OL4mGT3xWFgPUCaWu91rtk0Nc32yBnwUDo1MnxKIiF7QRui3dw5 +UvGIzcjNDTyR34u7tgSEUGbSWXpF1A= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33DGSvMB018173; Thu, 13 Apr 2023 17:46:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=tKVY3QYToK2Ahmkg5ZTxIlekXlXfKr/N1TnVqnrOiRc=; b=qkvSIGs7Qw0gKmdjXsrAtKBm7YIT0mahlIJfnjulRuWIlm4f4DI/CFJMBI4uNoFHp82u qEJGsaXOqYywyWsdjhDbe6aRJ2OsqssViCs7xOcPXDdFjhuzl/XWcv2ASCai0et7Xn7j LG7UL7pRBfKWper+PVWlrLnQ2nhrzuaJBL+x5hu799qGwJJMBf0GaK6gUDXvS++YRy0S RL6xVhuRX2e4yTjwG6YMsEYB1b5OlDzCI8zKb5uqw/3jnWoYQI0TG7clIHgYUS403VhW haZ3rWnrb9Gh7GATvUOIUARRObUo19iWOTTObOA5/D3+zwFoIpC1U1QVybu5oO/PeWl5 Qw== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0b33wn8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 17:46:56 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33DH2hwC012591; Thu, 13 Apr 2023 17:46:56 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3puweb4yvy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Apr 2023 17:46:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kHBY8+QOgkbnRBRCHIQMwUgxOLCwi0519DLe3uPj4oe0tZXDjtAsWd84nNr3cjWwSJVBBOk+djoBD+MMAFgWs4odQ40om29fmmAQakShapyQ3X2lEP2rrG0mSkZXppR6Aiorj7z5TSgFbEIbGTscGBpCLmHNh7Hi/im3gZw5wEfOSeL5hBPzcTO12fYEIm0RsMQJvPl/p5Zg36S8AX552o4mcmw+T0waxlz1OloSeeKdbXHLp2gVra3VkBbMRGWYZcP2QcAZJHE36onapWCXJHolf9Id9LfZISoOjelGBgZxSHGumKsZ3rX6H/fhkazJmuHcpcyFVfoPCNRvN9BwCw== 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=tKVY3QYToK2Ahmkg5ZTxIlekXlXfKr/N1TnVqnrOiRc=; b=G8mwCeRsMWuYJ0lL9V5mW3x6odB3TRh5d6Q9Z2ytGlW2k7AQ4p0jVM8h9okzckzwRQpt9s+VjE4wHagyFnbrNWwu8LKgVzNHyktPURHzBKRyTMDeDj0fVTZoMSJUoYK1uwpUfs3vKaLJ20PnODmzYn2y6/cGkU1m39OC9hHWLfPl6bqoaSxoQOxAH3jVcLDT4U92ueQmuCjJtjR9lJY86L3TqNC5KXapPWaMSPFCYBvppyT6wGv4RnrZ/Y66ltl6fJJpNOfnW+OAtqWEryMQ8qs3NZ0lf8sEBGbcTiyzQZbhHn+r6dEyltFifNgctQJHD7oOTbgSr8lah17rCPh3UA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tKVY3QYToK2Ahmkg5ZTxIlekXlXfKr/N1TnVqnrOiRc=; b=sx7aiOTvuvWRzScH9HwkHaI/DZRrN67q9g+wPvQYoc6ckWWheg766NJXyD3ekgo+r3o5TEa4qea7RCvTlke5DVH706tKUwbe/Lv2EiYHuD8mWywxMSrrMD6u/2Y3hv5g3U2ElTrSzBz/XuHfxzdz2CjWClgNGDCa4z9mjZeR2es= Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by CH2PR10MB4328.namprd10.prod.outlook.com (2603:10b6:610:7e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Thu, 13 Apr 2023 17:46:53 +0000 Received: from BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::b176:d5b0:55e9:1c2b]) by BLAPR10MB4835.namprd10.prod.outlook.com ([fe80::b176:d5b0:55e9:1c2b%3]) with mapi id 15.20.6298.030; Thu, 13 Apr 2023 17:46:53 +0000 Message-ID: Date: Thu, 13 Apr 2023 18:46:47 +0100 Subject: Re: [PATCH v3 1/2] mm/vmemmap/devdax: Fix kernel crash when probing devdax devices Content-Language: en-US To: "Aneesh Kumar K.V" Cc: Muchun Song , linux-mm@kvack.org, Dan Williams , Mike Kravetz , Tarun Sahu , akpm@linux-foundation.org References: <20230412050025.84346-1-aneesh.kumar@linux.ibm.com> From: Joao Martins In-Reply-To: <20230412050025.84346-1-aneesh.kumar@linux.ibm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0399.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:189::8) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB4835:EE_|CH2PR10MB4328:EE_ X-MS-Office365-Filtering-Correlation-Id: 1c04a027-1cda-420e-6482-08db3c471136 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +bXWgYMBOsN5/3lvpljBiI7cWMEiODH5ej9CBYRoDz5F0CUfgOA0VffjoDVMVlDnUvLlprWxjWL/hQC/+bElzjhntkSsTlhm/mHU+GrII0bwRjem9yWlKHR+11mup7ciFZLh7brdz65lBgd4zsKWc9Rr2gN4WpiQvurILx2NqkOHYZ8UQ8Ccijf8jNqRfydkQ10LnBMNe41ZFSPNU4Fx3T50ommMUP9SZG4EFGe4clCgGXLH24HuR0AXC9TQLkbJceBU+3p8+CdCRDZZWvnmJwyVH5xIcVu6mquMcDOUEVDVbXlUZIKPZOvYVlBXuIs5pNf7Tjk6yVw01WGXKX69C1vfAAP71aCwgKqigTK9JMg+5WDsce1KTQ1EiWiWARPcsWsN1t1PI6nWb/0FUrK1l5dvmV7JnLQApvGd59mNPxHh/+Zvur7scQXfEcH1L53fQSCpX5uFNUfXgOfcXgJmXDmx8AY2nmbjbR3GqoTrZ6QtjtQB0Fbs6Vk5VLVDgFXgiOVBHx9CnLXVOVw4Iy4JTnBxyzuHEuTunkdFRuQRmrqIb3uefhXnHm1E8VY0f3D4yp44IoA/+WmwDO136iJAg4QhmX4JoVt0lPwncRhWVkAdMMfqS4lqyniJAvxHGrltMYd/ROLl4Euv5jlkS0LoRanRtXrYAQi/SisMs4DiR40= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB4835.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(366004)(346002)(376002)(39860400002)(451199021)(2616005)(83380400001)(45080400002)(6486002)(6666004)(26005)(6512007)(54906003)(6506007)(186003)(478600001)(53546011)(2906002)(36756003)(38100700002)(5660300002)(66556008)(41300700001)(4326008)(6916009)(66476007)(66946007)(31696002)(316002)(8676002)(86362001)(8936002)(31686004)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MVFjYi9YdmlscnlEUHlUM2UxdTFicDVZQ05nU25YR2tGZDNZblM1M01aUFAr?= =?utf-8?B?dlhoVzN5MFVvNmZJcVQ2M3Y2MTlTKzlHWTZpK3hIZmd3ZkdERHNhcUFLWmVP?= =?utf-8?B?V2xIS2ZIdEduUUdyOXlPWkRUVnZLZHZBVGg3TzdxS2ttd0tYKzI3QXZiZUZX?= =?utf-8?B?NW0wZ0V6Z2Y5SEVXc3pQL0ZWcmRQbFJ6dk9sQUtNVXlqYWdvd0xrd093aWdH?= =?utf-8?B?azVwRHd1K2o1RElUTTI0TXY2SFQxQ01Vck8rb0R3Q2IyTjFobDljVkk2dmZu?= =?utf-8?B?OTFLbnBUWWQ3NWcvR1hwdW1KcTV1dzFYeFRkMFBwcjhyVkVnRkdBNnZaZzZM?= =?utf-8?B?ZVpjZVgrUHNkenk4UTQ1Rnh5RE52S3d5azJjeGYwNG9EdHVpZDk0aG52dFNP?= =?utf-8?B?L2lLNWFmWmVQNnRhREEwT2Y0cVlHSU5GcFVpeG5Ob0ZCYnJQUTVUV1AzSE5h?= =?utf-8?B?dWFpcE54aC9QRzFuVnZSOERaa0FtSU9ER25tSHBCN3BYaVRRcmtmQkxzb1Vl?= =?utf-8?B?NHhValRpWUI1OEpCOEZUZ2xaOXNMOFFwSGhDaGYzc2FWdDYrWS9hcjc0ZGZR?= =?utf-8?B?WjhLWWZHRmFiNTE0NnY0aG42T2Z0dmE2S0t3S0VYd3o2cXl3SjRuaFR1SWhE?= =?utf-8?B?andDaFRZTzVIQzlNbkZCUzQya0FlQW1ZM3FXamRyU05zMmRYZU5FVTl5aC9Z?= =?utf-8?B?TGhnV3ZTSDdYWU9XRW13Szg3TUZZbnVMaGJBRzBjU2thZ2hQbUdIZlpkanJv?= =?utf-8?B?WHhDYjF2Zld5blBtNU9YNkRyb3RtWUtZUG91bW11di9naDVuR2JuUDh2QVhh?= =?utf-8?B?VmdOOFdDQVI5ZUlvWTVpdkFoUHNPOXM1QWhZTnR1cVlTL3RZeG1ZY1h3cG91?= =?utf-8?B?UzJuNkdQamd5QjVSVlV3dE96VzBBMEs3UEpHTDk2OEwyT1dYbDJMMkFmV2tu?= =?utf-8?B?MlM1eGFLV2d4dHpjVjRVODVOR3RFbkZHRUo4TlFIZnIzU29ROTduNFdOSmhE?= =?utf-8?B?Mk1sQ1FXZFBrcjFiS09GakZ2OE5mK1lnVUMyWHp2RW1mTU5aSkltVGNmYkZt?= =?utf-8?B?OE5kYXJ4cFBkWGFYOVphZmF0U0VhSnU4cFhkRVVWeUl4NlVsSWordFQ2ZGpJ?= =?utf-8?B?Vkg5eVI4eFE2MnB3dFdtVUdObFJyWDNMMVk5NkNBeCt0clRXT05EWDJOY0Z1?= =?utf-8?B?QlkydHpkUy9OaFI2YzlxeVo0bUxIRlhKK21zWFdvM1NxM0phRzlzeW8yVlhr?= =?utf-8?B?OFlkTmtTRGZOVytoU3F2ZGZkYzRwaVZUNHQzQUJVRmdKVkp0OHFlbjF0dHpQ?= =?utf-8?B?WVcyalNkNlhkdi85WldmVVA1T09oZ3ZpVUUyME81enlIWjJWN0VmZGpDV29R?= =?utf-8?B?aVJLWlByYnI0R1NCMFZjdmJZbGhsWEE2elVyU3l2VTJIMzUzZzlDbkNONStx?= =?utf-8?B?ZmpRK215Z05ncFdQT3pEdW51NDZQUWxMZEVsbEVUa2RFM21NNUprMkdqMkFH?= =?utf-8?B?c0h5MmNRbjF6Q2xNU2dmNUJoRWdPWFVKb2FMTEZNMHpJT3JBUldsalY3THAy?= =?utf-8?B?aTlPVi9XTmt1SExFazdrTGpIblE5QVRaMzEybmVrYWJwcGJ6bXdjckg3Z0wv?= =?utf-8?B?ZmlHOGtCUDUzdkdVVFZPL0c5Z3A2azlERE1QdlVtNnNFM0RWUVlrcE8waGl0?= =?utf-8?B?ekR5b1lJbU1UZ0RUY2JuUVJQWVlyTjVqN1ZXQ3hUY0ZrU2xpd2psTXY0eDg4?= =?utf-8?B?Z1JPLzh6OFpud0tibFlFb0phMC8rbG84Wi9uOVlNNFJ0MEhMZEVXbnZibStk?= =?utf-8?B?aEdyZ2lNOE9NL0NpQWFFdjlJTkxXeTAwS3V3Ym93RWRPY1dwZ0hTT1hQcm5v?= =?utf-8?B?YmVDaWN4ekxlNXFLMk1aQjJIOHM5WDZYUkdaT0VwbVpLUVBsQU5CYkNkUCtm?= =?utf-8?B?QTB6a3k3amo2M3RTbFkrSUw3WjNDalV4c1plUStrR0VVenQxTjB4YnZubWZK?= =?utf-8?B?QnNOaW05RHg5eWZ6a3B0WXhRdVRjWUt5bkgwS1JnZ05wcTNGMHFnc0pUKzNs?= =?utf-8?B?U3I4a3JFNjdjQmV6ZE9NWHY1UGd1OEp4ZnV4akMwa0xYQzRTNnBhVG92Ymxx?= =?utf-8?B?SENYZFV1bzlWZWVVT1cwQ05NNTNOSnlzeWxwV2NtY0h1aGlZWjJaMGx0Vkoz?= =?utf-8?B?Mmc9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: hAnBV+XR1rIs+wjyXJEuh08tPtHtwgjO5GiowSyLgAsSYfMTPeFewjYJ2TxuUmCCSho/rNw0IItJr/yjL6x/53nk4mAYBnUWow7wgg8+gq9mCmxaO8YMYX4Tz+vYo2jqxRcpvb8W4x2yYoHSR6bYRFk6Fbfe4al0jtK+igyf1zoDxOIPcFrEpsgkwXz9+T4Y7PoQTUfRu5qKut4JZ9gprvlA0DFqgYref7Raka+4hLzZcU7M2EllveFXJa88yF8Y95XwfUkRJ1W3qFI5jmNRA3E9wAAhFvRAlfk/xHw6IrP+DS/SC8vZ3c5tbUNT1X4QLFK8P2jDBhowuhFeSuvelVWrV8dqXm1Z71O3zv5KNCgi/FIUCHJai7p+IChIsVbcCqjiSSaeB3JRDo54Qx2Q7882t93QEKTXZGSrT73Sp8B+K+RaFHbMQMqWa/wOmk2UjEezgAVoArvvGk0mcmrQxr1oDpP24S4ovfXiEXHfsCKyilGDGVszjN8GUGIbzPsgWTHoC/X0BDHCM9kc6RMgEHqKvPFDWFmQNIvfTA8aApNS4/DPrEPIeCqsMiGdCAvkfg+d+h78J1c8rQBIYXk5/MqI0yqnwnjQ1cv5bcOfV98qClDnJ0+37wMClbtu2B8tnQRCKGkx8wlSJIDdBg83HYwP5AwvNR6ekAiOYnAOC7+Hzde4pDvBdPfy/5ylTQJ2OAorpcjvtSAjcEsR/RCMkNGzYTozwTe3KlgCv+rCDCgMclaqyLLhGous4asUar/VteHm0Weh6+HIepnbMwJC68DrKbZ9ju7sTeUvbYQklL4ELBgbpsDtZDr5BbhZOH6jNI1cpGaGMsA/5Cc0CTyIxuXx00QmK0UUVrF60pnL9ncXphGtggpw/vh/3aXV/WwiuQJz2BdTz1YPi5nX//j5Fw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c04a027-1cda-420e-6482-08db3c471136 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2023 17:46:53.6900 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cMYor9zggAMr2bGmwokj5t87YyfhqemM2LVI0ZGxQ8S4AggpvwRp/+RyV+6fZ2QJn4JuCvVKXC8J9P1OvCcMQ0stoKnFibmaezoYcRqKXs8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB4328 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-13_12,2023-04-13_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304130157 X-Proofpoint-GUID: bpoi_pfaVuxIQ7HZELOEZHmlGbhmGObj X-Proofpoint-ORIG-GUID: bpoi_pfaVuxIQ7HZELOEZHmlGbhmGObj X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 8DB17180011 X-Rspam-User: X-Stat-Signature: f9yx6cri5hjs7o1wfu8xmsdrpwpxm4fp X-HE-Tag: 1681408040-586460 X-HE-Meta: U2FsdGVkX18Ng46cgvEBtPSY21GTcG0FRuohZfdM6VSe6gitKPJAHPTq2zQVC77dICrBHf6WbvbIHJWtkNl9GykSjqQU2WflzZ9nUKUwN6SLyLWBgwby13TDiQuDpC2rR0OTdQngfGh5hWdFxo48VNtL0Gx/TW9+W/MWzn4lQSqJaNOkfiN7+ik/mkR9gtl6wZOS9z/BDwd/SX43Wf/g+DdTyLFhwc1FAHh4MKBNwBh/iFZUVeL5K979PH0sKaNlgvnEnciAM4vy7Pvu/DE8yqPwUs6c5dCcdHF4eP43JI0obYLBsSEZyP0WlxwLP2TT4YPn3BPWTONM7WF6n7YV7zHkKOVmYaMGXRjDtRu6rWoQ13wae8W3V5nXa0opF7stHh9o0Ztl2dmcElmmQd8TcI322gqGfBQkrAn2uI8WUfx/j5dVZh7ojvbaA/h4B8O34Ax1ShQE4J7PW2nrgGAtrhu79b0KTjAQizbkevVthPA/Ym/1kyScdC0mJOYyOD9Y+qmxgK/uHNV2CtxHJiI1BovNT4b3TDom+S10F8RQ/rhnUTtvp35WmEj2bfzxVEl0kOU8G3sIP+67GBPNbIwi+KdHANDYPxKSwSsrZCJtGIWNSWxianztd50Mab4aF9TPoXXQnjDVWJ1KhL+tNfbLyKGXeKdlAguvRGWPrsrUJFwhebU1b7nsKAak3dE6c8sYmeVM0eHFFXRV4JF7FJtI5f2BdebNLWqBPNzXY/JQ29R0mqD1upxoNps7z1GKdGbQ3KDBqSZ1+bYZgPUjxEp5xxT1+n5yFTn9Aq01+SfistxiJd62vapEQCffcLnP1KyB7er2ip3ZetXmA3sVyNjJ9pZUfjG33rLLzAW9RoqcBJbcY2dpFUssESAGqqgex2OE3AcPY1sf9gkAuPBmhhsB1J4tCFbAIPFQyVaJr0//Yc9iKoeVr0rqYq73DnElzMwVj6ycnIr+HwpcdSHzXZI Q8JzbXlf Y75LzG68YOplW9N+ORWaBG22bpSMBiG029WZuqUcCvoJML+CnKnOans2rku5cNrkQdQSbhBM9yOtpbkyatmCCDYi/GycqVCv1LZ9fS53Z/gaAhX26jRXGYDe+/jCollg6f/wEY5ab15UyF4nxgVOsl0q//SZUvfl0FRA8gYUy26mxZ0SlKTS1E1fLkaBAenfd2Q9aujjt72j2TIMmuhb6ajtKobCYamKTlZuj4l5Oyzz41/zz2ukDl9+J0sOftagNx1iuaLk89u6NoEcWYovQvE+IcDRKMECcPaL8MTBt8Xbtif5PJhqu5jQmJW619rZr2GcL6fPKR2LBS23l9Z/ZBzHzVtMvk0dR6tMAiamq2nau6TQlD2ytz9w7PWag/GGenLjOvydsCwgvW7hTx56RVij6Z97Kk+2Zg/PA09MiR8Y2c4ad9Dt8hLqxZsZ5715oKSCFeYDWcenU8eC2+dpo87KhCuaIJJnUnIsDTP2k8CNgzDczANihzICwNhQIgwOHOucY 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 12/04/2023 06:00, Aneesh Kumar K.V wrote: > commit 4917f55b4ef9 ("mm/sparse-vmemmap: improve memory savings for compound > devmaps") added support for using optimized vmmemap for devdax devices. But how > vmemmap mappings are created are architecture specific. For example, powerpc > with hash translation doesn't have vmemmap mappings in init_mm page table > instead they are bolted table entries in the hardware page table > > vmemmap_populate_compound_pages() used by vmemmap optimization code is not aware > of these architecture-specific mapping. Hence allow architecture to opt for this > feature. Architectures supporting HUGETLB_PAGE_OPTIMIZE_VMEMMAP option are > selected when supporting this feature. > > On ppc64 (pmem) where this isn't supported, it fixes below crash:' > > BUG: Unable to handle kernel data access on write at 0xc00c000100400038 > Faulting instruction address: 0xc000000001269d90 > Oops: Kernel access of bad area, sig: 11 [#1] > LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries > Modules linked in: > CPU: 7 PID: 1 Comm: swapper/0 Not tainted 6.3.0-rc5-150500.34-default+ #2 5c90a668b6bbd142599890245c2fb5de19d7d28a > Hardware name: IBM,9009-42G POWER9 (raw) 0x4e0202 0xf000005 of:IBM,FW950.40 (VL950_099) hv:phyp pSeries > NIP: c000000001269d90 LR: c0000000004c57d4 CTR: 0000000000000000 > REGS: c000000003632c30 TRAP: 0300 Not tainted (6.3.0-rc5-150500.34-default+) > MSR: 8000000000009033 CR: 24842228 XER: 00000000 > CFAR: c0000000004c57d0 DAR: c00c000100400038 DSISR: 42000000 IRQMASK: 0 > .... > NIP [c000000001269d90] __init_single_page.isra.74+0x14/0x4c > LR [c0000000004c57d4] __init_zone_device_page+0x44/0xd0 > Call Trace: > [c000000003632ed0] [c000000003632f60] 0xc000000003632f60 (unreliable) > [c000000003632f10] [c0000000004c5ca0] memmap_init_zone_device+0x170/0x250 > [c000000003632fe0] [c0000000005575f8] memremap_pages+0x2c8/0x7f0 > [c0000000036330c0] [c000000000557b5c] devm_memremap_pages+0x3c/0xa0 > [c000000003633100] [c000000000d458a8] dev_dax_probe+0x108/0x3e0 > [c0000000036331a0] [c000000000d41430] dax_bus_probe+0xb0/0x140 > [c0000000036331d0] [c000000000cef27c] really_probe+0x19c/0x520 > [c000000003633260] [c000000000cef6b4] __driver_probe_device+0xb4/0x230 > [c0000000036332e0] [c000000000cef888] driver_probe_device+0x58/0x120 > [c000000003633320] [c000000000cefa6c] __device_attach_driver+0x11c/0x1e0 > [c0000000036333a0] [c000000000cebc58] bus_for_each_drv+0xa8/0x130 > [c000000003633400] [c000000000ceefcc] __device_attach+0x15c/0x250 > [c0000000036334a0] [c000000000ced458] bus_probe_device+0x108/0x110 > [c0000000036334f0] [c000000000ce92dc] device_add+0x7fc/0xa10 > [c0000000036335b0] [c000000000d447c8] devm_create_dev_dax+0x1d8/0x530 > [c000000003633640] [c000000000d46b60] __dax_pmem_probe+0x200/0x270 > [c0000000036337b0] [c000000000d46bf0] dax_pmem_probe+0x20/0x70 > [c0000000036337d0] [c000000000d2279c] nvdimm_bus_probe+0xac/0x2b0 > [c000000003633860] [c000000000cef27c] really_probe+0x19c/0x520 > [c0000000036338f0] [c000000000cef6b4] __driver_probe_device+0xb4/0x230 > [c000000003633970] [c000000000cef888] driver_probe_device+0x58/0x120 > [c0000000036339b0] [c000000000cefd08] __driver_attach+0x1d8/0x240 > [c000000003633a30] [c000000000cebb04] bus_for_each_dev+0xb4/0x130 > [c000000003633a90] [c000000000cee564] driver_attach+0x34/0x50 > [c000000003633ab0] [c000000000ced878] bus_add_driver+0x218/0x300 > [c000000003633b40] [c000000000cf1144] driver_register+0xa4/0x1b0 > [c000000003633bb0] [c000000000d21a0c] __nd_driver_register+0x5c/0x100 > [c000000003633c10] [c00000000206a2e8] dax_pmem_init+0x34/0x48 > [c000000003633c30] [c0000000000132d0] do_one_initcall+0x60/0x320 > [c000000003633d00] [c0000000020051b0] kernel_init_freeable+0x360/0x400 > [c000000003633de0] [c000000000013764] kernel_init+0x34/0x1d0 > [c000000003633e50] [c00000000000de14] ret_from_kernel_thread+0x5c/0x64 > > Fixes: 4917f55b4ef9 ("mm/sparse-vmemmap: improve memory savings for compound devmaps") > Cc: Joao Martins > Cc: Muchun Song > Cc: Dan Williams > Cc: Mike Kravetz > Reported-by: Tarun Sahu > Signed-off-by: Aneesh Kumar K.V Reviewed-by: Joao Martins > --- > include/linux/mm.h | 16 ++++++++++++++++ > mm/page_alloc.c | 11 +++++++---- > mm/sparse-vmemmap.c | 3 +-- > 3 files changed, 24 insertions(+), 6 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 1f79667824eb..ced82b9c18e5 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -3425,6 +3425,22 @@ void vmemmap_populate_print_last(void); > void vmemmap_free(unsigned long start, unsigned long end, > struct vmem_altmap *altmap); > #endif > + > +#ifdef CONFIG_ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP > +static inline bool vmemmap_can_optimize(struct vmem_altmap *altmap, > + struct dev_pagemap *pgmap) > +{ > + return is_power_of_2(sizeof(struct page)) && > + pgmap && (pgmap_vmemmap_nr(pgmap) > 1) && !altmap; > +} > +#else > +static inline bool vmemmap_can_optimize(struct vmem_altmap *altmap, > + struct dev_pagemap *pgmap) > +{ > + return false; > +} > +#endif > + > void register_page_bootmem_memmap(unsigned long section_nr, struct page *map, > unsigned long nr_pages); > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 7136c36c5d01..cf9f9ddfbd19 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -6889,10 +6889,13 @@ static void __ref __init_zone_device_page(struct page *page, unsigned long pfn, > * of an altmap. See vmemmap_populate_compound_pages(). > */ > static inline unsigned long compound_nr_pages(struct vmem_altmap *altmap, > - unsigned long nr_pages) > + struct dev_pagemap *pgmap) > { > - return is_power_of_2(sizeof(struct page)) && > - !altmap ? 2 * (PAGE_SIZE / sizeof(struct page)) : nr_pages; > + > + if (!vmemmap_can_optimize(altmap, pgmap)) > + return pgmap_vmemmap_nr(pgmap); > + > + return 2 * (PAGE_SIZE / sizeof(struct page)); > } > > static void __ref memmap_init_compound(struct page *head, > @@ -6957,7 +6960,7 @@ void __ref memmap_init_zone_device(struct zone *zone, > continue; > > memmap_init_compound(page, pfn, zone_idx, nid, pgmap, > - compound_nr_pages(altmap, pfns_per_compound)); > + compound_nr_pages(altmap, pgmap)); > } > > pr_info("%s initialised %lu pages in %ums\n", __func__, > diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c > index c5398a5960d0..10d73a0dfcec 100644 > --- a/mm/sparse-vmemmap.c > +++ b/mm/sparse-vmemmap.c > @@ -458,8 +458,7 @@ struct page * __meminit __populate_section_memmap(unsigned long pfn, > !IS_ALIGNED(nr_pages, PAGES_PER_SUBSECTION))) > return NULL; > > - if (is_power_of_2(sizeof(struct page)) && > - pgmap && pgmap_vmemmap_nr(pgmap) > 1 && !altmap) > + if (vmemmap_can_optimize(altmap, pgmap)) > r = vmemmap_populate_compound_pages(pfn, start, end, nid, pgmap); > else > r = vmemmap_populate(start, end, nid, altmap);