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 D78DFC76196 for ; Tue, 11 Apr 2023 14:35:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 686FA280009; Tue, 11 Apr 2023 10:35:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6113A280001; Tue, 11 Apr 2023 10:35:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 43C45280009; Tue, 11 Apr 2023 10:35:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 2C7BA280001 for ; Tue, 11 Apr 2023 10:35:34 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E8C3F1A0D14 for ; Tue, 11 Apr 2023 14:35:33 +0000 (UTC) X-FDA: 80669358546.27.122D62A Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf15.hostedemail.com (Postfix) with ESMTP id 6F556A0023 for ; Tue, 11 Apr 2023 14:35:29 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=zWBKfB28; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=y1YA+0RA; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf15.hostedemail.com: domain of joao.m.martins@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=joao.m.martins@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681223729; 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=R49vCLv8l5jua2bLAWk7Y6RIgPVMPAC+T0/p6FBMulk=; b=nNAaZ7/O3FeS/FuLEF+JUcY37g4Fq5Gpqmpvgv4BoWaoFPDSSwG2jgfXAExwZJ6Yw31UNn dus9dkBjDNdDXQlMhZN/HDD9RkG7tYq8tydaVjz/2oj5O+WnPVvE7ktVRtAc5kspY4HYJy gyAb/+77S2Oh67/Q5060CGOeNTPTzsc= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-03-30 header.b=zWBKfB28; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=y1YA+0RA; dmarc=pass (policy=none) header.from=oracle.com; spf=pass (imf15.hostedemail.com: domain of joao.m.martins@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=joao.m.martins@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1681223729; a=rsa-sha256; cv=pass; b=f2IUaUeG6wDjnxrUaK8eaEDPHzoXJTsWxVwv2zv6Kaz78yBudYQ+ednx/8jqdGaHMjvaSp ypxzL1gBVExrPBJaA+u5lN73mOVLuw0uqkTaFZcS9jbAuPJngqMOm+jCAKRk1oUFH3ZK9C znCyT5hJkHq5Z+cP2VLZYt8866IDItQ= 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 33BBNu2B032674; Tue, 11 Apr 2023 14:35:17 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=R49vCLv8l5jua2bLAWk7Y6RIgPVMPAC+T0/p6FBMulk=; b=zWBKfB28VYpVTqcXfjmis9cWDKPJ86dlF0HUqATc4pqonX9F7JREy+JWX98JsWbhAkrX OtAjftNel57YMA14gdV2S2SpiGozqhZY4hfv0PVlE8p5Jnt3i4nf2fRRUhR9XN0Poy+k 7w6roKZ+AMb3abCFI5HrO1ifjmb1WgKyV317/bmgS1gobf7FJ3OAvpxTV3ctB9JrNolb 0hFRltbsAiGGVHCxYzTdVmJ98JyEW9myW9jHp/QKfBgZ0m096q7mqNAkIAvXtlkncemX 6KlOF5KuQA4ttSUl6c3/IFvZhDDuu8sytdDdwINU50HrnJ52ZzsuHtPhb60MHDoTwVCr Bg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pu0b2wjvp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 14:35:16 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 33BEUV73030990; Tue, 11 Apr 2023 14:35:15 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2104.outbound.protection.outlook.com [104.47.70.104]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3puwbn6j4g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Apr 2023 14:35:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BiTfGAMKNYshwNLEeSFBgU7TKF5UQiAAs/nSnRoMimZZ1/ICFbMhHAfML0zi52mC6QPqGEiYr6JBPAZeTHmtUkfE9WfIxuRLUPbXfiYJVNWH41PgM22Dm0Nn7xaOhFY4Pu4v2Al/0fecVXKhxcUiYy592mK3Q+cJugKNozVGJ5VJDhGJX9P9pfSFV2g6idQ3MT0GsRHdjqrzKQglL5vvnodtKflSLQX6vw4HpItnbhvIO7RxZViGGzmog0fk9uGHmvuNohQUmmWHja8nSYvT1rerZ+FDnQprD4UA8w2wYddsJMQdKvBbJpFneFawMrh06tM3MELKO2q1SuxuHmbekg== 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=R49vCLv8l5jua2bLAWk7Y6RIgPVMPAC+T0/p6FBMulk=; b=be7DpQ38kUotkb81B2aLHMIO5sL+L8fSgu01pQwxLow/5HpL1opss5GE3TdCwfev2BOAkCtCbNgbyFXmZNZ2nLU/VLPArUr+n/BeHjfIDwZLovjaDFPkOLYz73poI3TnUAzsts9RPGLPt9XkUPo1SrVFNvyF/CoxcXluwpT8rZszTdHrOWk35MF08n8Sgdjs2NBiGLQNa4T5w4NVNd7n/77IgGC/WaE8UqBoqAkleZlYam2YDg4j9zJc4KU02VXS3yi/h2rGlVxqJh3/qubnnZ+es+1LdBuu1E86b/y4vriYKfTMCaFygn6s5bzkmQY/gi5rUlib2mTt/95VMvMngw== 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=R49vCLv8l5jua2bLAWk7Y6RIgPVMPAC+T0/p6FBMulk=; b=y1YA+0RADW/qMzRRiJHTlmSlJLgyJOgnGec0HnyuDaQm5YuF6PRqxpp3cOFLOr/7lIRjSlYFDyc1ve2qhGdwjbHzEQmw9xjeu24RNj7cTcZIOG1NvToUPWP8J2DCJbqg3vmi6e/UMXlJky38C+xtprjK4QuL5hkMw7KJ1O16ZSA= Received: from BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) by BL3PR10MB6042.namprd10.prod.outlook.com (2603:10b6:208:3b2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.38; Tue, 11 Apr 2023 14:35:13 +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.6277.038; Tue, 11 Apr 2023 14:35:13 +0000 Message-ID: <1d9e9377-d835-4b83-8770-adc3d1313228@oracle.com> Date: Tue, 11 Apr 2023 15:35:07 +0100 Subject: Re: [PATCH v2 1/2] mm/vmemmap/devdax: Fix kernel crash when probing devdax devices Content-Language: en-US To: "Aneesh Kumar K.V" Cc: Muchun Song , Dan Williams , Tarun Sahu , linux-mm@kvack.org, akpm@linux-foundation.org References: <20230411141818.62152-1-aneesh.kumar@linux.ibm.com> From: Joao Martins In-Reply-To: <20230411141818.62152-1-aneesh.kumar@linux.ibm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO2P265CA0244.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:8a::16) To BLAPR10MB4835.namprd10.prod.outlook.com (2603:10b6:208:331::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLAPR10MB4835:EE_|BL3PR10MB6042:EE_ X-MS-Office365-Filtering-Correlation-Id: 34cad0cc-fb6e-4cf9-d4ed-08db3a99f5b6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IyWTtEyE6XwjeAXuMsjSDRRdnClY2fcT//pg5XhY6nP6WcyzNuE77829BWKwInTHEFD8KOvgt/uQX0jxIk67dX8oWI1T6c2LzOkbATRKMSQUw+SG4FZA1xeEVYI0FIevQru2es3zUZGrC2UN6ybjLXOJSvhqSQRPAhy8zW5pShOmXUSPFzG2weMcK/DyyQpacBaaSB9KKjlY0PUSGZ9lNJF1r6nPZ5knrVeQbKKD4J6yduIZCCxn7qStn+LeDIAJX7jxCYx4Wle2MQ00ZQoh+5RUakSkNusY5/dinwM3PAVT+MkqMxC7sVwAUtkpIRxKYikJn4WG5rm/N49XGzKOhnaZw6iuUmwEpQW2XvpjDieDhCszExihiHgl8OTH8358t6pHPU8xlcsp9oovpFnYS5itIWyr7LbKs88nMFERn/os1GvjksEHjbjkN0hP4uDxw1UjOF0fyX3biXqPM87WVHj4nzcmtzKtBN2Ax6ak3MZLUX0Y1qO+lPPXjlJ53QxsAfK++Ujeiqbb5HJ+mxEGQMYIKOK6pXDlx0jy5aMNtealPaFllOL+UFSXk55KBhOVfPkveA8zxeOgq/J9CQNwrIyblnetjkjSLO7qlPtZrSMcv48uMNYgZ22sA/hMeDzK 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)(366004)(396003)(39860400002)(136003)(376002)(346002)(451199021)(31686004)(478600001)(6486002)(54906003)(66476007)(4326008)(66556008)(66946007)(8676002)(6916009)(41300700001)(45080400002)(316002)(86362001)(31696002)(36756003)(83380400001)(2616005)(26005)(6512007)(6506007)(53546011)(6666004)(8936002)(2906002)(5660300002)(38100700002)(186003)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RVBKZjloVUphK0ZpUmJGVmZ6dDhOQ2NVbmtLVE01YUZGM2MzRkh1clhmMHZ2?= =?utf-8?B?NjNyUFNCU2pVQWtuWTQrRGpJMFhzSFNFV1Zlbkd5dDNCS2ZEMHIvODVzU2Ux?= =?utf-8?B?S3lSQUJ1ajQrTHhiKzUycXB1L3ZSTHQ3c3V6WmFwNlFhOXJWU0pJbllVSUVu?= =?utf-8?B?K2dlUWovMm9OVEloQWNuSXJwaE1ZS2V1b2s1RVNkNFdteHBaclJLSDZRMnFC?= =?utf-8?B?WXdnQ3pWK2ErTkJ5RUR3c1B1ZlMrdDF1WW5GYUFLOHJQZG1yS0ZUUjhxYXRX?= =?utf-8?B?cmYzalYvd1JxOWJKdk5uQVZycUtjbHQ5anlNc09aendIUnlmUXE5L0lWcmRP?= =?utf-8?B?ZmhiZzJqYURkSGcwMXlXbGl6bjJxMVZ2dUh5Vjh1bzhkWkpEOXJUWU1pMW94?= =?utf-8?B?dW1VdWg4RGk4UmRPVmtsNGlodW5ZOTZSdHpWMGRqaGprTnBXWXJoZDZCK1dx?= =?utf-8?B?ekNEZ0ZXbmF3MDlGY3E5Q0hiamZmc0NqRFU1aDE0QXhqUHZMOVFDaDlXa0N5?= =?utf-8?B?aEN4cFdMVnhaWmJlaHBudHJneUpiR29hdjRhT3VKV2xvSE9mQi9ZUUxlQi95?= =?utf-8?B?WTBLcXVlcmpFR203TXRvU21IT0pMS3BIZG5qZmtla3R4RFN6b1VMVzcyQVdh?= =?utf-8?B?K3NmeG1SN1FwSlFGdzA1M2pieFRtUWdqS01Xa0Noa3lLNkM4bUd2N3d5c1BI?= =?utf-8?B?dk4wOWx3UnpiM25QeDYzWDRGYld1c2FTWHVtc1k1SXBmZDZWemdTYU43V2pX?= =?utf-8?B?TmEyckNudmNpTnRaSngwd1ExaUVSOWFSQ0hNdjhXUU11UytqWENML1c5di9M?= =?utf-8?B?WFJOQlorKzFITUR5cmFhTk9sSFBwSjhTRlJxS3lBZEFqcUprTVdhS2daWGtn?= =?utf-8?B?amF3eEp3elRvTUJndnBHVHJZaG8yL2tVODloZlg0SCtVdHdseWdyamZpY3dE?= =?utf-8?B?TjN4cXNOekNGWUtOT25uVm5jdnNtdWM0d3o2T1EwRUJ6Mys1KzJFR0JKWGhH?= =?utf-8?B?a05scUQ2YjlMWURnQnhnR01UY1lzWGwya0tEanBzTnVCY2tiaTNIRTJ5UjU0?= =?utf-8?B?WVVDR0hMWE9qWVdQbDFSb0pueWJ6RWtERjhodVZSTWUxaHlMQ0crd200SzF5?= =?utf-8?B?SDZyNVhYM3BSTm1ockw4dHBndXhoTmtpdFA1cUZ1ZVJwc243cmxpeGFTaFdn?= =?utf-8?B?RlpLcG9BcENDR3FZbU1nZnl0aWVWTk9CRjdZdHRsc2o0MytXdDVGQ0U0ZklI?= =?utf-8?B?ZFM0WFYybUptWCtrRGRPOEF5Wng3Y0pmc1NlYUhDN0ZXemNzRlhhVWV3TWda?= =?utf-8?B?bXlZTndmSVBNMkQxT2EreG1qcGhQdXNXRFhrQnRqdEFWaUhiQ2JsQTJsTGhy?= =?utf-8?B?akdaMFI3T3VGUkNHMGRYRzIrb2sxS2JJaDlLVHFqS2NmbXVzc3d6V0Y0WThF?= =?utf-8?B?aWVUOEo1WG5MUm5nUDhoOWpsakhjR1FHY01UeGZnUnFObVJ3V0FtaUJvZ3JT?= =?utf-8?B?Y0IzYm5wK2hPcDdqZDlFRFdJc0hDdjZFdGlST1lYSGlRNFhLL2pnTHhVaWsz?= =?utf-8?B?dWZrazE5VlVwY3k0T3RDSmNvdWFLQzYzMENobXo1RWJKUnBsdksyTjZ4Y0NP?= =?utf-8?B?c3ZESjlyeGhyRFAvb1k2eGFpRW8zWXR5UThTUjJmUzNrZWEwQ2hIS1JhUmhm?= =?utf-8?B?dkpnSVRjWTl4NElUajRKNkRHUVJhcEJRTTdwcVBMTHVjMEdXVEhBcjFjK1VR?= =?utf-8?B?L0VpTFRDTStyRlhXRVhRa0o3Vlk5M2xwN3VmTk5NYllwc1RXUUcvZkZ2Rnd3?= =?utf-8?B?R241OFg3eXBsMmRUbGpqcTZwRCtvVTNoYkxjaUtSV1MyM2ZNL1ZERWdOWUt2?= =?utf-8?B?RDBVaENkeGpzNTJFWGE0ay9YUU5SRy9JRE1hMXAzU3ZiQU9QL2dsMHZjZ0dL?= =?utf-8?B?cFYzSHl0MmxVZFVXcmRRaGxGN0E0UE5wR2g3VGNFRXlaa2Q4UFlMSWw3L29x?= =?utf-8?B?RFRRWXRsd2V3VzFqS01QWUdTVGFBKzhTQlFnNGdUUm8yb1ZHVmM2aTQ2T0o0?= =?utf-8?B?Rit3Y2R0cWRjVDI1ZkY1UU44cTZSVDNZdkxPSldlS1ZqamhzYkE0MW9YOTFK?= =?utf-8?B?aXNZYVdoK1p0OHBHVkNpQUVZSmlxUDM1blluTzBkKzhtMzJxQVNhZVNFT2ZW?= =?utf-8?B?bnc9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: GD2tSFca9KqzbaPPLZDd6G3CSYfZ+aWuYGkMS6KGFDOl4Ab5X7dn+TVlJEpkHGhvKkdSTCRdTvShxZN8FdXobn3jUDMepAfAiAq5ga7060QrI9/Qjva9BvQo1eL4ow1Q+kEMUc85gmo2nTgg8JtxRorVtKmmlhw3a26CLTtHYC/tj/XNND1gZ99leUf3K11L7h12t5hEWgOMl0EM62+rJKaJ0RgYvRHOmYWAfjtiAujGNqt3gTGsiDr6liZ6nHhZMIlOpCuMJAJBQyX46gLpF/gbk6xwrK+PUKwoUzUvOkMBUVAVAc+ELiX+7I8TFAXhvM2hxh4ba0BPJ1vUx4az4zdup9/CkjaWc9HkqYsG4mF398t7d8ghg8jwAvzYuwBpphdBpRM+ngJRGsWp7uBnxRO1g9m+/Po52OBG/4S8sQDCzxWSvLVZlQSk4rFMhxfAvdLY/Kn12Pulty3W6IQFKK1ndSM3Lu+F29xrnej+BlBulDTGl/inqmVXWfvyOHrXNn7lE6iwlKYuaO3xOvPkER3+KTXGybPLt4hpTNU4RjCTdXdrEoLycfqBU1XY3VGRBR89HBgyeF/NJyQXBUhowfHZplyUO2i1S8RSOAS6NNS7CKL5os5eXIaRYDsnAZV3RbYA5lokbbxVHAyau7/zA25WfMVEVvJPGvAmYzQKDxTPZaSTFJ9Di1cujYVRw2eCm2kHAkvYOaObHoGTaRn6THAcEuxDu/8Oanv0mKumg80QdcSJFPV9MV+LFdF+HK04OTWsLF1uMJq+BE/ze/867MFMYGOfAV7JeNYj3LgmwOuuh3PaKnXTDrahXwAPzeTAL86GiNwg65xVFodIHZldC366+fYx4FZ6+d8n7T+TKmWyucsoiIyW89GcdzGVIdQgaClAkUb4xWgb/6GT+WLHdg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 34cad0cc-fb6e-4cf9-d4ed-08db3a99f5b6 X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB4835.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2023 14:35:13.2502 (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: y89GRLzIeDhQMOtHqh2EftHyeI3A056Zsm01K1JmyyB2nt7lYmjQO7bq5zVRbokn2pQuMyHlJYYYzGTGLHnWwF0LcYDez8uw1H9Kn9WRQlM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR10MB6042 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-11_10,2023-04-11_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 mlxscore=0 malwarescore=0 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304110133 X-Proofpoint-GUID: xTF11gl-fYZulA4Cpsyhrg-qtRRcjWBo X-Proofpoint-ORIG-GUID: xTF11gl-fYZulA4Cpsyhrg-qtRRcjWBo X-Rspamd-Queue-Id: 6F556A0023 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 181ip751izuh8i3wuk9ujyexducfi89r X-HE-Tag: 1681223729-690819 X-HE-Meta: U2FsdGVkX1/M64RbZ2cHJSTrxmsNs0jKM/DrPBVGdWJ5+u4mGf+DBVhfBtsLFVjxO/TK6BILeBIFvvo+f5dicPZwWaxVCZLSvyOP6p2Mnm/wzQMj2w4Fm6N1nqdnZ2tEGKOZFgNtvQK/ONRMiS5rcw5uGfppkK33Tggfvp/KZ6wWwNbkeAdtdVGH6f53PbFj7ab7x5MEo7OHrwqcTJmTQrYBVp8U2h49896l9TVLqVdd+PtwvgyMr4Vwzb7hxfy3LhydBPuBwdrVAa6ed8AzaN5y+hH2rlS71x5w8VoWLlsFESiaH/27CkdUi1X0REyxrOFQit+za1/bnDiDZqu/Zm40efDydRrydYK8JG4jODuQpnMX0X9v9szFJPq2gJU3+PybHGGsr6zv84Lk3ajU2/Fl2cH5eurBjFdPFG2z6P2xQND0qjYpowz5eLwAZfuoo01W6MgWqolRW8j5Bf8h6ANuK5vHAVH1DbYIiRBxScrfwSjPczakCXLXIbciDnKuJt9aOJNu0BJuByrZAUcC5DktJ/TGBIE9IglYEVeYYgtYlJatqR3cxAoSSHMHIJ/dCrc9/SH6ywcYChBJNUlxLNR3WJPse/iCjH202np7YYM7aSA1MCCnuirNv+8w5Q2TXJO2OgZ/mboJPKlmubJyv6vpzQAoGolz1A9qjJwPw4CACwcv1L3c0ix/ifIqR4Ktra4nidAMSZiN/M9GSZ8StrOV2i3hK9KcrKvN84ennVlO9B0VsueVtCcw9BFZFpMCCdAYNZmaB6t53fLOqRBKSpugJIV/oOPMYWVyiXBCkVjA9sc8+rAXjOb5xNEPfacE5T97UW8V3JcLIpZ5m/IEsPTX0HRo2sCcq5dsFChUvpGRcjP/yGC7NUDB+7bqcGUxhnM46jFDkyk2laMPLjDW+kiRYb4SGRBaE21OKFOJmvNCfXFZGACg6vlRWmz2DPgRlPYm9IQMk/7/fRYVGY3 TcBOfoj/ 0hn6hD2kfVxbVcWfh09JKA/apmmYXCva2k3nPrtjBCudSkasqedlUOuHU7VXaLxxDOohmTSHUJkKjyaQtx79vYgKscySE4ZHWaVTIeWzOFc4PmY/0zlqQzOFnApPvi+HKc9svXWJBNi2ceHsFUgxLEbgQWaVioSZW4Va/F++VoucVrICC4IFwePowOzLfsbuuC0/pZSNsfk7ombs7lW0h5JCTBSVKoXG2+KFo8J5/raxjNQVwW/SorHwUXyminGszeU4Q8l9qaUEj+lk57rs0yfXw4UY9juKZ/9n+arcwvt09cHiGprTBSESPYdGvwgWbVtJR8cy1AZVf2dq7hAPzH1+cE4rBCvTzQPTfk/wRWnisihNc6BvjKw5QRX0EK3RsV0nLTPDsaFSDVGmyFr6Dioc7fHgOre6I3dByFTMHdy3lDixGyxdrsv/AjdnxsxZgwYv9QNHpOkASucdyjVCeAgHZAxVvQ/upSgn0Jk4S+oVYKCSvfnA6wbFaZsmmRFIZAsA0 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 11/04/2023 15:18, 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. I selected architectures supporting HUGETLB_PAGE_OPTIMIZE_VMEMMAP > option as also supporting this feature. > Perhaps rephrase last sentence to be in imperative form e.g.: Architectures supporting HUGETLB_PAGE_OPTIMIZE_VMEMMAP option are selected when supporting this feature. > This patch fixes the below crash on ppc64. > Avoid the 'This patch' per submission guidelines e.g. '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 > Reported-by: Tarun Sahu > Signed-off-by: Aneesh Kumar K.V > --- > changes from V1: > * Only disable memory saving part of compound devmaps > * Update the correct Fixes: commit > * Add patch to drop HUGETLB specific kconfig > > include/linux/mm.h | 16 ++++++++++++++++ > mm/page_alloc.c | 9 ++++++--- > mm/sparse-vmemmap.c | 3 +-- > 3 files changed, 23 insertions(+), 5 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 716d30d93616..c47f2186d2c2 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -3442,6 +3442,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_VMEMMA You are missing a 'P' > +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 3bb3484563ed..292411d8816f 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -6844,10 +6844,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, > + struct dev_pagemap *pgmap, > unsigned long nr_pages) > { > - return is_power_of_2(sizeof(struct page)) && > - !altmap ? 2 * (PAGE_SIZE / sizeof(struct page)) : nr_pages; > + if (vmemmap_can_optimize(altmap, pgmap)) > + return 2 * (PAGE_SIZE / sizeof(struct page)); > + else > + return nr_pages; > } > Keep the ternary operator as already is the case for compound_nr_pages to avoid doing too much in one patch: return vmemmap_can_optimize(altmap, pgmap) ? 2 * (PAGE_SIZE / sizeof(struct page)) : nr_pages; Or you really want to remove the ternary operator perhaps take the unnecessary else and make the long line be less indented: if (!vmemmap_can_optimize(altmap, pgmap)) return nr_pages; return 2 * (PAGE_SIZE / sizeof(struct page)); I don't think the latter is a significant improvement over the ternary one. But I guess that's a matter of preferred style. > static void __ref memmap_init_compound(struct page *head, > @@ -6912,7 +6915,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, pfns_per_compound)); > } > > 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);