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 736B6C4345F for ; Fri, 12 Apr 2024 11:54:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0D7BC6B0096; Fri, 12 Apr 2024 07:54:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 087BF6B0099; Fri, 12 Apr 2024 07:54:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E6A9C6B009A; Fri, 12 Apr 2024 07:54:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CA4A56B0096 for ; Fri, 12 Apr 2024 07:54:04 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 89CC11C13CD for ; Fri, 12 Apr 2024 11:54:04 +0000 (UTC) X-FDA: 82000721208.02.C9A01B0 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2074.outbound.protection.outlook.com [40.107.244.74]) by imf29.hostedemail.com (Postfix) with ESMTP id BBD1D120022 for ; Fri, 12 Apr 2024 11:54:00 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=bwsFpUzN; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf29.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.74 as permitted sender) smtp.mailfrom=jgg@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1712922841; a=rsa-sha256; cv=pass; b=DKYhjfhB9gein+NmhJFu64zHS6VyJo6Rufwd++q1pMHhhTiOR41Jp89byugkrnRwPAqMBN deINtm5BkUne6rfaMjHYd7y/BA9SibXxX8I/lxh1zeZ719Oh7058wruj8cgEgEVtwV/ndf d9JdDhKY0LUcz/i8xabVm/2rImtGhkk= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=bwsFpUzN; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf29.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.74 as permitted sender) smtp.mailfrom=jgg@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712922841; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=F8NXIN3MAAxaPfUWYlPBhhmvQ67k4+NabcisOtRfORg=; b=hATVAp2cJKjZaPrjGqNz8Zd4x1njkUYvAk9VbguQpcWYbc2LU6cDInp8tRhN3SFHA5iQdR p/OK+VMB9wlG6LpkreshMpsrnRscwG6o7eFDsbWy2QS9dEOMSe0sQpkPIbqK9W/kYcvwMm hCH+ihdSbeqDOnnySVwGbMlA2IYIuiA= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dWGV5h35MaEgBfX19DLAvccDMR5FZkjQoWtF1xLkGTVwgttoIJf3VQ5IOy9p3rv2pO8zyNy5DzFOHFOqksFaOivCXBckU+d6HQBVKM/c17Bmh5btiwX4MRJ1bvRE1Ft3NdkVBApLNNUgpU8cGgEzH7M2Xph9ywpVfdPIwFZN9w71NLlWvgFXWF6oTWnrdw+wRnDnYp0mr/wxbYV5z3Tb4p50GaFM7xsp3/H0N66N+W+47mmNDSAseRK4KViOH80Ui0qkW3qGJ2Y6DZIBk+8u/JrFAh6XuuiIRFB7nvJqitVtvQTEtQyFivcNJrNPPNrHaN1Xb6CDSfHbd8uzc8mn0Q== 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=F8NXIN3MAAxaPfUWYlPBhhmvQ67k4+NabcisOtRfORg=; b=lIHU6GRBgSdwSYutBtsql/nN7u6qVkYG/3yXp1Pibc0Td8bNGO1U4sZ9wIPIXIG3y960s7nL+ncJZxT56qmtagXE3jyrc6xsQkWQ0TQLrMNOALyP/Rsex2jAOlH7AuEuYD7+tGBfbFRIPEcoaXgn5MksYTidItCMhJyn617SXTpeSbPiiDOXc1I7AMP2QGynEYWspOG4BHYNNuznAK6lFJcRq7mkAjAwjFDvvMzLnGPTfkmWs88H2/JkswnMkhLpDtURS1xvfzmryENrIYGJAQ9z6mqoWwXti+dwKPkGawT7r+Cmvsdzn07NBXp6rHlhkakktlgmZMAZljrvI2l+EQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=F8NXIN3MAAxaPfUWYlPBhhmvQ67k4+NabcisOtRfORg=; b=bwsFpUzN6M+n8HavaeD/q1SfLD2M16OKkA8MB3LZTPezoU9cnJakghB30ysr+065KibyWIbc4dCU7QskYrVSAziXi/nMj8Tj0ANoKFPF2CfHNm2mwc4m3po1ua3YF7DPaT2D9S+ruDWjfKkVWaLnJm7Kla+5nrzH79B5pq1IQRI81NdJA//1l3/goHThmlRGbV+hRfungQJtJvJPrWBto+bgwLapiN/c0kMXgMCrRnObF4BTjFNfu/DBJwPsLqb9OmsHEOcF7xEkKqczJv7/+k+23OF+cxG/I3LOBTl2qwzJmEqNKaFkmTLKh9ZSl3X/hUGhhjm6i3OsELYvRhQdVg== Received: from BY5PR12MB3843.namprd12.prod.outlook.com (2603:10b6:a03:1a4::17) by PH7PR12MB9073.namprd12.prod.outlook.com (2603:10b6:510:2eb::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 11:53:56 +0000 Received: from BY5PR12MB3843.namprd12.prod.outlook.com ([fe80::1395:49dc:c6cc:5295]) by BY5PR12MB3843.namprd12.prod.outlook.com ([fe80::1395:49dc:c6cc:5295%6]) with mapi id 15.20.7409.053; Fri, 12 Apr 2024 11:53:54 +0000 Date: Fri, 12 Apr 2024 08:53:52 -0300 From: Jason Gunthorpe To: Alistair Popple Cc: Dan Williams , linux-mm@kvack.org, david@fromorbit.com, jhubbard@nvidia.com, rcampbell@nvidia.com, willy@infradead.org, linux-fsdevel@vger.kernel.org, jack@suse.cz, djwong@kernel.org, hch@lst.de, david@redhat.com, ruansy.fnst@fujitsu.com, nvdimm@lists.linux.dev, linux-xfs@vger.kernel.org, linux-ext4@vger.kernel.org, jglisse@redhat.com Subject: Re: [RFC 00/10] fs/dax: Fix FS DAX page reference counts Message-ID: <20240412115352.GY5383@nvidia.com> References: <66181dd83f74e_15786294e8@dwillia2-mobl3.amr.corp.intel.com.notmuch> <87frvr5has.fsf@nvdebian.thelocal> <877ch35ahu.fsf@nvdebian.thelocal> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <877ch35ahu.fsf@nvdebian.thelocal> X-ClientProxiedBy: BL0PR1501CA0034.namprd15.prod.outlook.com (2603:10b6:207:17::47) To BY5PR12MB3843.namprd12.prod.outlook.com (2603:10b6:a03:1a4::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR12MB3843:EE_|PH7PR12MB9073:EE_ X-MS-Office365-Filtering-Correlation-Id: e3f4a59b-ca2c-4d03-880a-08dc5ae73a3d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DMWgNlROWRiTdX6CrwpG/26fl0o0xfCK/tdphcc6JaIOf1gVxW6MOaen+7KlvOzpSShf2olKrmQTcpDfORtsdRD7J7RSKveyFHKa9TKdsnE5htGxf6mL0LdtBV0qqcUIHYHObqkq72VukvHyUypv6UYFvFTtLDXcZPhznmJL1ugThOifitU9DzDe1hrRXfgN2fc5jqzLXspMY3vAf7zcOgVJpRPs+YdXVH80GUtXmQN2w1m/WXJhEFDm4UfyqsqePx6PCLtCvvY0Q5mxyCoZICerkVrCW2LJ0mlYPbPzbY2U3bjTg5ziK/i08I0g0KCQKbdtHIk9izdIPhqAMLffCv+NbDS/RftKZYw08LAQddP+dj3KYCdI+ULLXgLsGkDqXfOaitTFllB97L3tBrsH0lA8l65lHDr1IvbG/GyypE3P57gOKTEEIuPyXz4b+w99GXTKm76P5Z+gR0v3KYwv79UlFg0rEPTOm1FZjMvGRtFI1GL9YJFzNpuLQayjAF7H0+8zQxU/cxeVmocDPFbU0iuibWEAEKBm3Yz7K/fKzpH9bM96ZP5RCtU4m0yN3UOiGgFHE0oQp+mHRwaBR4HotzOu9dZrbtTZMYBbcvek4dIHcVUPjNCQXa7v3uIYxM5UyFQIuzWk3zSA2TIvf3whcqVBaiI7TgEJbjzemU4TjSE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR12MB3843.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(7416005)(376005)(366007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tZgwPiZ453RZMGiSewWKAWHuiMT7BAvdUwO4peHX7YOF2jNdjAPidcqm07jY?= =?us-ascii?Q?tFJXD3AlLAvRWGY/PLzrhUC+Ld3r9CWUYjpROKgtICD6JShQrD7qs4tH9M6l?= =?us-ascii?Q?aUeWxIvto0O5E0AKZx21g59UsSn4eQgMyGq0QHbpPXT4ClgUcL0fO0yNiryK?= =?us-ascii?Q?Y9mIO9nMZGahYCTP3dIGMswUVBzVhJ453xskhETk6ij/qmHVUpohz+E4ndV/?= =?us-ascii?Q?SfGfG6VbA2O0jGdsk2CcKCW4nVovUmMtzp+ZSL+pHjgrBzVkXqxngla6uw/P?= =?us-ascii?Q?qFJH8AZ7hKGfoJ1jhBWDp1mhl/pid8f0X0gzIKUoInj1pjE+s0cqk8ypTpfl?= =?us-ascii?Q?CDPXqyCIXwgpHriWhOGM59oJPEqQkWyzfxV0AsBEjP2qnm9b5XtML0bmCmvJ?= =?us-ascii?Q?WVeqEsNy1ht09q4K2mZ2fUzW4Zq6ptja/pwfvmbPqXVacRHmHVHaJHihTG72?= =?us-ascii?Q?xYsl72Zfcf5TnD/h6VLp+d6HQCM9fU0ZHjQ4k8J+8gXjJO1k68uhRaCYegj2?= =?us-ascii?Q?JLu6i5ISAdFN1pbuILLWkdEhKbDN7xb2f/uve6F/+VP+WvXDN3vEsdeYI3pA?= =?us-ascii?Q?TW2uHoc00PUCQ4jRzWGQatZdpOgTiIN8uhaSeHsalzAdCRN8X1MQM9D6jbqM?= =?us-ascii?Q?4WPMGCVlC4NscvBRvAL5BaRvjCqF6cTCTACYh4K6S1/4wB0WHFxLHwnmXPQl?= =?us-ascii?Q?/96Cim4QFRbQqlZrxOvl1ssQOUac5MCf6ikM8/7lgBNBX8/iLV1iH4XyLbir?= =?us-ascii?Q?f0YDWbxwXOWtcD5o/ULQaCiZF7njriV/WkOfuaPJp75ufSL+aNgGJyzAH6a2?= =?us-ascii?Q?Po/QW5vGZ5nJkh70j0AiRDL86nR8FynrQfI8d0nxQ73XUKztH/yJYkG0PZpN?= =?us-ascii?Q?fa24u2vVKYzsusGuhvcMt6a2Qrf+PZEOkYaYDtS5neJNowONkHUPaAy9Tez7?= =?us-ascii?Q?IsZt5upceMIPD2aCRb4GxEx9GxXXxJNPcved/r4n2cQg/5ci0+zkPoVFHn5a?= =?us-ascii?Q?m5Qk4cqenZhxKMgY3HFfRG2llvE3H1n+dySgXr+y+JNqiXEeHooWgDeXcymq?= =?us-ascii?Q?wywM9EhLqF//ApNAU/j4y5sgLWryr9zKuH0A54BXhNHDtpki+c6HGMU7lywK?= =?us-ascii?Q?k27cwV5hrFLuBJh5VVEFUsm+V6TpUj1KJRNKYmRMLBUbdyOI9lLwwS1Ag9xA?= =?us-ascii?Q?Obi+YhqlgOpOw63+KPjBOqLFVXv0VGTWyXr+qKZorzvFBpc3QqNRQdkcCdQe?= =?us-ascii?Q?z87cSYshKpTf3Lhxe3djk7EQwLTMbGSlphtNlMJp6ksH2IW68X/3gRen4vLf?= =?us-ascii?Q?NDlx3o7pF6eYezu6VxVicVjoybpoxfyzurkgVgRr7tbiI9vmECKFfotgpABH?= =?us-ascii?Q?1N+q4aY48NL4F3b4Yz+8xxMmg4TtlBN11KDS2CYEkelEpyYJAfjnRQkrzkxd?= =?us-ascii?Q?Msea/wzyuAMqAj8qmwGN2bzeUvRZtVm8KE0++Xyz9CGZ/2M49GMVtneOHRmo?= =?us-ascii?Q?YUikvfrZClSFSCySD2z6Sq8N8TWnV8CscUKGjUgxIl6aBLk1syiiWEI6LWgP?= =?us-ascii?Q?pJlyIqGkQ8/YassyLaE4nhr9RbOtxFa7OhPI6VFC?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: e3f4a59b-ca2c-4d03-880a-08dc5ae73a3d X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB3843.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 11:53:54.2463 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TDRonoeFkAPV6fzP7cJxVwEa8TuNHXmdJeC1ZuJmedRTJdc80fdJV7nP92Nrr/qH X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9073 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: BBD1D120022 X-Stat-Signature: ioh8pe7s9pu3q1q8by4nenc41tmqi5nj X-HE-Tag: 1712922840-950481 X-HE-Meta: U2FsdGVkX1+gTnYSjDl1wVsBG+Hsi0k8CA1H9xlFohKXdK8PdgQazP7gBVlyWyl8iPdYKRylvhA1+sYkauPjV1zYai8TBskh6tvPCiwamuAXuDL/gB957wwiL/ZSc4QI0muKcJ7EHW4wdgxWfowqRRVQ5onw9dBgPoXaNkNa5j88Kf4CV2+XMYxNoEkwu/ocvcP/+rm1UmuZ8USyHMPRiHl0VzWLInHMzThi20KV+uH+2qaxaGcNUOTjDv3HmhOUu4zQqkyWtXslNHw4SgfO/ScXH/70/uZ3L5Qxcst9OtRaMiQi+ykJTWPuJy1e4h3a28TCG9xGZqfzx8z20WN9insU1Jy+t0UILWZpZ5hut2H2g2JcMbBFaBBor0kQVAK0D7RA3SsvCybZLmutnotd9yb5ddk/8Km+TfXL36UKqxpZAxdA8mQv+y2UopDXJfskrpoSskTp21vHzM0EYhJTG+pBGQIuDzLJd8JBjj0dN3Y9QaReLbunn5mXvqzGs8QCXi2SBToERXPUqcFQV7pRhnNgCiADwkNxTsZfY14yEFFlmQxE1SPzf6Tg8ok+9z/UjH3BhCJjNOtvL4gT61uBoETTTZCPzKISbL6oBh+QENbS2n2LJ2xX8B0QYyxKEaqCMGyXWL5X1jcZSe0HZmsVyfO3Ueplc/rD/2+Q7k7fF0HOyMBI6wLieli+lkbYbUShBeFX8QPFOiCnECf/9Fa1RZdUl/FMn3Og0HaKFnPqGCL0FF/mjS7knuXhGmYxl0n46nkVpunLfz9a8JU5V3KcTjz2FFzi5S0l3/cEk/lI8Oc4BuzCHKEt3ddAXWGQaoVpGb1wFJKNq25Aqtku6sYxGFUunkyNc7cejO4o1rnuiutSbpxu0y8uYtWRjHwjrCHlF19VTeqK0ccN82sHhCKAmgHP/IAAPpDVyuhNKEsd8ZZuxIcsM0VDUyS0UvqIJIwu6qMQPpcrY3xALyx8aeo wJTjYRBi jSvbv9ERsnWsd4w+WFT/IFho5XBYPfS1Jp67GXi4x3KLxoRL9ftSaejVGSeA556ZEWS4A1o3SmeIXu4YGv044+Fu8lu9p9kwazcH+3ribXQgXgV9/s4Xjy9KK+iTCFWbK4/JdNNCmoREmcniSEJYli17w4WzWyP7JGXaEMyY7hCpGAOEkF6S3zTqiw8xcgZtRiROKv7JbH3SOFiGlN37nFPveyQ== 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: List-Subscribe: List-Unsubscribe: On Fri, Apr 12, 2024 at 04:55:31PM +1000, Alistair Popple wrote: > Ok, I think I found the dragons you were talking about earlier for > device-dax. I completely broke that because as you've already pointed > out pmd_trans_huge() won't filter out DAX pages. That's fine for FS DAX > (because the pages are essentially normal pages now anyway), but we > don't have a PMD equivalent of vm_normal_page() which leads to all sorts > of issues for DEVDAX. What about vm_normal_page() depends on the radix level ? Doesn't DEVDAX memory have struct page too? > So I will probably have to add something like that unless we only need > to support large (pmd/pud) mappings of DEVDAX pages on systems with > CONFIG_ARCH_HAS_PTE_SPECIAL in which case I guess we could just filter > based on pte_special(). pte_special should only be used by memory without a struct page, is that what DEVDAX is? Jason