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 E8D6FE77188 for ; Tue, 14 Jan 2025 06:12:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 62DC76B0083; Tue, 14 Jan 2025 01:12:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5DE016B0085; Tue, 14 Jan 2025 01:12:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 457D0280001; Tue, 14 Jan 2025 01:12:58 -0500 (EST) 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 2A00F6B0083 for ; Tue, 14 Jan 2025 01:12:58 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8967EA0711 for ; Tue, 14 Jan 2025 06:12:57 +0000 (UTC) X-FDA: 83005039194.12.11B778B Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) by imf02.hostedemail.com (Postfix) with ESMTP id 1831680009 for ; Tue, 14 Jan 2025 06:12:52 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=IhIuNOPd; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf02.hostedemail.com: domain of dan.j.williams@intel.com designates 198.175.65.15 as permitted sender) smtp.mailfrom=dan.j.williams@intel.com; 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=1736835174; 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=idlcfja3DeNfVAR7I+buYIPJo1gL4lVASBdfhSZYaqc=; b=PMwQ/o3TZOY3exrumzXlyavndC8UP1FxB2mwtCSpz/5oTnieLNg0rHuQgTQ6FxOv0z4pjN IipzOIkLumNZYW1MZcSAH/UQ0dSv6KQoqv4f+GgKjfmW+LFxXzS+VueNTlhc9TyXEdIe+j LbebWDoqWiCRlEKU7/Ltn98BprJpWUA= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1736835174; a=rsa-sha256; cv=fail; b=uvZkPL9ghN+c59Na8p95Iv62LPT/j6xwy6LvbhCITXo9m2BZLFY8Ku3eDuQIqSVc7V+nkV 9im0pxlQOF0AnbnfSxgUs4CliBOsMpnG+CfB8FQIviUorjbmRXTxjxpQcoVSatvnBhePhU FACw7wiyN8GgJs7LBKhm577ip93jorM= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=IhIuNOPd; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf02.hostedemail.com: domain of dan.j.williams@intel.com designates 198.175.65.15 as permitted sender) smtp.mailfrom=dan.j.williams@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1736835173; x=1768371173; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=KEmS1Z299WnqpeOIPpWE9WpBQm5aeOU7PZ93d/CzbY4=; b=IhIuNOPdmueEWdQ5zkP1lALatHcaupsKdriy+AV/tJ0je89OJDBlHWDx zASADiweHfHW5cs1XGJO73LhGdxBGBe5JewfFmM0Wl7HZJ8hnJmaEl+yB nGR2fPqDDR6x8GmdZDQh7lh0tl9trKHZSyXmol7VyXcPxU0wPAXavmupu tM1/w0J90+u+x8+RGDpzXJl9gMjtqM861/pLe4ExzNLN5EKQFjOMf3roS z7RTuXnPewfVYSBu2Wul8slvdrUNs6X36z64mjbXdxvGYUg3mrWjYVSBi GN9eXzQCLPQxIlRK3nP81UM6MLHzdPjQXmcGGYKZ2ECgkApSLjw4f5259 g==; X-CSE-ConnectionGUID: zvtrp4FqSguRveXbUU2oZA== X-CSE-MsgGUID: 6yFp1LudT4qdl5OBtrDGKQ== X-IronPort-AV: E=McAfee;i="6700,10204,11314"; a="40796920" X-IronPort-AV: E=Sophos;i="6.12,313,1728975600"; d="scan'208";a="40796920" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2025 22:12:50 -0800 X-CSE-ConnectionGUID: O8SaAUFXTs2y/LLUMLcaiQ== X-CSE-MsgGUID: bdo4BKOQQVCWJjYvwrPZfA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="105589580" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa008.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 13 Jan 2025 22:12:49 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44; Mon, 13 Jan 2025 22:12:48 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44 via Frontend Transport; Mon, 13 Jan 2025 22:12:48 -0800 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Mon, 13 Jan 2025 22:12:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FgT5bD1n1UqxcJ1crFhf5RZfepsuq+Z4jyzvG40Pg0wundq6iZ93H0g5AkF7LIKlt5U1o2eWEGMphyE3SXL1Zl6yQgvCC+HiWguZxM5bwU6aT4h74tAds34s6fi2G41sAfyrSii8mpOi91eP3RqCB4WUX0RQl0dzuUNArkn1omfIgev2HCCh0a5bpnzsqsJaMyshjHnymtrl3ut7UivW/SOfetER7TXAnGVjEvn/RAm+S2mhnELrCmO0+RtarkYn7AgWpgWCWTVPj9qaadFpcFAeskaDl3Be2zgJYtePVGWmRXIqRUhehSjZg6ZY0/OaJU15HFr4eXoNYgJrdWMIoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=idlcfja3DeNfVAR7I+buYIPJo1gL4lVASBdfhSZYaqc=; b=aEOK8SdTx7pRoJsRpQznzSTSAt1xOK3Ua3Whi+y/XDMIIpMkrGeXqCTk4IL90Zj0Njwsu30ZFteJOnWi/RIcApP6vpqcVtw3b1muEJ9zsUzRF0xPoip/1Ybb7QQC+jsXBwoGObAkpw1RPK1Ckw1m06YG1+rnzzqqvGpbZO21uhmiKOVYbOxf+mEHYegu3PP8L4GxDAbmP+CnozNAdZhOWyE+5tjMiSgKN/SNvEna+fJOviwJiVkr7t7ijJjIT4u+zIPkbqTXzKn8eGQrAL3LlhNQbmwPvdNR8XoofD6+bgM0az1Uijymxa0+sap07ZZgofZJ+W1Ix0kQpAqivvQ4xg== 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 PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) by DM6PR11MB4676.namprd11.prod.outlook.com (2603:10b6:5:2a7::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.18; Tue, 14 Jan 2025 06:12:46 +0000 Received: from PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8335.011; Tue, 14 Jan 2025 06:12:46 +0000 Date: Mon, 13 Jan 2025 22:12:41 -0800 From: Dan Williams To: Alistair Popple , , , CC: , Alistair Popple , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v6 22/26] device/dax: Properly refcount device dax pages when mapping Message-ID: <67860059b200b_20fa294b5@dwillia2-xfh.jf.intel.com.notmuch> References: <7d5416ad49341207e5f3c48d5b9c4b7af5fd9ac6.1736488799.git-series.apopple@nvidia.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <7d5416ad49341207e5f3c48d5b9c4b7af5fd9ac6.1736488799.git-series.apopple@nvidia.com> X-ClientProxiedBy: MW4PR04CA0293.namprd04.prod.outlook.com (2603:10b6:303:89::28) To PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|DM6PR11MB4676:EE_ X-MS-Office365-Filtering-Correlation-Id: 397e2004-ec33-4c2d-de14-08dd346276c7 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|366016|376014|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Ubb35cZFd008eQgbGeHXSwfQx2l9LkE/CzVZ8CXu454g+Z5BkyHj/65VRDN2?= =?us-ascii?Q?L3PtsoTtxjijOzIOazA3a6ssovV7mwdiVCWbh6/k1fnO+ucg91JZ/pPeyIv8?= =?us-ascii?Q?w5sFRKcgXwCaha26KWhJOxS40xF49OWL908eROXkvwFVVauHaIZQDZYulfwo?= =?us-ascii?Q?rhGX7EvS0i1x45wnhtGz8+tph4NWFqHvXpcaijoDnj/0UD6srRhGWi4O4h+g?= =?us-ascii?Q?hDqEmvdvY+nrqCC3FvXrB/Fi06cguda9in57OJJOcoGPVWcvt98MzJTiietg?= =?us-ascii?Q?sx7kyT9x7nyort90KMAaMgz5uBtSirbRRfI6XesDT0hPKXmxVaWWeORMw6Jt?= =?us-ascii?Q?KaIZdXqJAG63MIZVoymryXK862YxkJ6SQCthJOmAVimHksT+qPkRLfZktXKS?= =?us-ascii?Q?LXgIUpIE+Occ4UhrpvW1yVOzLJyS9KsjiWhUkxoKhx/aCsK/mhGWST8rDV36?= =?us-ascii?Q?Eh5Uhu1CNOp7RIt7Jz61OAf9ENMhoByLzEECwqwqaCYSa+K7ckSQ07/jdzmB?= =?us-ascii?Q?1tlQg/k7x2Fx3TNbFgxkk9q/LI7/6ag2u6V0bz4iIWdguAnsYy1kptTpuSLS?= =?us-ascii?Q?cEiBgLmejkyhhpjJLtm5/Afn9M1NAJZpttIGC2W/A9S9v87511rlNjvkvIQs?= =?us-ascii?Q?db60ov83/T/FLNDMPOcrL+iuzbEJHf7xmMyjjGcfGyrmDZT6HD2kory6Vs/3?= =?us-ascii?Q?6P9mV+fX4Nh69/jMB9dX1J0JIPIWMP21DjjaBFBBxRTMDtC+6DarfzoSdlak?= =?us-ascii?Q?dVDVuL5p5SebMFhnAAOt2UmOX/wleO/G+roi9Yy2HKXT7kaezfexGpebz13i?= =?us-ascii?Q?UBe0ZHDZQ17vGiBmvu6vGhZgkh8Y6Y2CY2lYaYguS6p+c9PaJ0YFwMjbDWxz?= =?us-ascii?Q?TWIc7GQqYydnXyzyJsp3yKzyBfcueSSN5/PEQfTAxCgorhPVCwIyoLi+TO20?= =?us-ascii?Q?1Xn5cNPry+baM+CJTIktA5Ay2x0nY/I7HMyYcKvve4tuj4lE0YyU6t/fIZjt?= =?us-ascii?Q?YrBihU5YUm1kEN7SEiu/BfeNv/+IvsIx/TMYPw+XB9E9jV9A3LsKDzfwOvGd?= =?us-ascii?Q?Ms1PZV517DZTpBe8528iMoC9MNqa2cju+yTkJTkXmP+8r3rwugN9rsAkcLiK?= =?us-ascii?Q?+nesaPhkZr+UWAKUm8zuFg+lySjsL1GLv8OIacHPagRAmpjyTn11vgepQ/rV?= =?us-ascii?Q?V6Mabn7xf9Lirt13o3YofB/ep0M5YGetPJbMrWpO9y/nQ6ouXgB4x6IcQJrt?= =?us-ascii?Q?ixm9AfQOyeygA5nZH+if3rdBuGF6L16FOhLCy8sa7uSjlYrsRAOMNg8hhmJN?= =?us-ascii?Q?Zx914pckRTZ842j7JnLBcjTyidVo3gI/gVlmfv96nNQwr/XT2+8D4G10o25C?= =?us-ascii?Q?LnoQ2EXp8hgB9P9Kl/J5G2/kSDO8?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PN15taGIPKxDFj7EX00hMk5j3tlidozrXVnPi8zaSbhD4w736AthXkiMcmcn?= =?us-ascii?Q?upksF/7/R1kSCmTQ4B9+S7AOFdXR5wO2BiQ2KWhmfJpMEKvogXiAcZja956l?= =?us-ascii?Q?LduF98oPasMfu4Zau8mEJIvosNTKTgp0DwWlyctgkdAd12JOse+IM8qs4t7J?= =?us-ascii?Q?DsSiDR+K/NLY2Q+JKlivpdyrgFDMGOtpniy3+hw5gn/nXKqf+y4xaMDEwKkk?= =?us-ascii?Q?Pzhg5sRmFOzdLxe2vh1k+kn8GvjDB5i7RwbGEwMoih69yDwN7hNfabyOhf7Q?= =?us-ascii?Q?K/kHwgcspd9Alx7pchtZA3n6X1LMpSeiRYJrUY+O7HK2wcR9B+NMjQFD9UNj?= =?us-ascii?Q?w20GG+qtkOfUnMvaSkam6N6/GwvLZclR057r5Z7xHCsPviemfU3Nzu98faZ3?= =?us-ascii?Q?X7efoz3YvdS6ecsgZcXFA6Zjtgix8azldEoTOZ7JrADbbgtRXb+o8GC4/Y/o?= =?us-ascii?Q?ApQs6gB0yhRwdpxD67pWyHs6to03pILPbv6bny1ARFr8qMX7bep0RKqpvp6w?= =?us-ascii?Q?QE9rDo2arFZy879HdU8x4NhdK2HO8d10LvfjQBgsZYnKgdRJ7MZ51/os1pgk?= =?us-ascii?Q?C096NUdaavbyBK4/TJWNnWT0Kn45Totu5IBm8P/NDe1T/6RSlJ/Sj/lIpaZH?= =?us-ascii?Q?K7v3poo0mXGwbROEOGmVwWLxi4V7ZTchF+kPq34qtGkX6EqAHZExuS2lJ4di?= =?us-ascii?Q?eMwEpWWydQmJlKN6dUx+mG4Svmz17hhDPOgWmNud/RuQyf8YlagkwGzC21fq?= =?us-ascii?Q?+f0ZEo2BIasMjpwWGUe7wHWa4BwhO6J4S6t2enA7sZABJzSRjvblVJ1hYoUn?= =?us-ascii?Q?7yYfQVmqqtBcp0p8U6pXdOrUgy2jubF4ntmYB0MH42LmCTWGk2XMXoAqcXq3?= =?us-ascii?Q?Ufq2iKozxT8BNdPcSRIGMd1Kq+WtHSwdUR3hauDXxuo6hQHapt0uvYywtos1?= =?us-ascii?Q?7ZXMBrvN7kh0H6wQ4S0/dGSxrhdU1f4X5rIZjL2Jk4cE3h14RozlKJf9uaTJ?= =?us-ascii?Q?CiXtAPFd1YtHUAd7QFM0LKeYth/jItvvphC7sVZB3iI8S9RsyS9q3CFGr2Yr?= =?us-ascii?Q?zIClGjBjb3ocFewoHcUdZ9YoMbwVtLNWxqVEW/8jssJrxscKM+b0CJ2xl/r1?= =?us-ascii?Q?T+iTHnFi5mgCr1lWQ1OBjuUSi0iis1bpY+/3Sg6t4u0q2gCxyT6AJqDNb9ZG?= =?us-ascii?Q?ea54+ZACTfQEiBSqUTImIy4zzXBe8ijXwjAWX5pVRL0uKCMkt6ieN/9MtFlO?= =?us-ascii?Q?4guLwbu8LWY7m/rRIwm1DQnKgZmhKjU5r8QEjJKUoZNWsacC7eMnQolMBhqj?= =?us-ascii?Q?myAwn/N3Pdeg8aZQ9ifL4K/RLwjFEvaLppqv4stDzPP7FTls+Sj14DYvJ5E9?= =?us-ascii?Q?Cva+fEH9KY9M8t1BCQ0B4rHiMkMmfVzmS11tAsOhp21dgYYShhzj6GlgSyMK?= =?us-ascii?Q?q8SgUANCIPL0aTW20jM7AhaMnD5VpFRoO/1kXFNVOnkGmo3z+9nnqd/UrEiY?= =?us-ascii?Q?EJFLMTEbIpOMxCxGQJvAK4e8+gaZkV61OlKbNLrXvs+/rPHKz7COE8s3hAkH?= =?us-ascii?Q?ztJbJL7A65LWL8lgLllFtPLCIwCROkBHFTtEZoR0oK3DOYoDX9mycOALGaR5?= =?us-ascii?Q?OQ=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 397e2004-ec33-4c2d-de14-08dd346276c7 X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2025 06:12:46.2175 (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: 3BCs1YqIUcRnYVk9zwnblXXOdzusAg8xya7tbVu6H2k6HuEP5VbFPqYftN2iSPgiTG5UkMKi355MHPOOgbAay7x+699o7jt3mU1lsO2Sm4Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4676 X-OriginatorOrg: intel.com X-Rspamd-Queue-Id: 1831680009 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: j4mazrgkfj13pr5q1kh58dja345fng6j X-HE-Tag: 1736835172-181885 X-HE-Meta: U2FsdGVkX1/SIyDUIzBHezG7T3zearyepap5ZtzF8g8optA6hj8C7QpuugYjk15QialqhMoHPbPPjvGfCpoWxJaVacpJ33pTthM4nmw9vC7+JKWfyI0VCuaaqGl/8+WVPAfaDP2O65X6WgEFsc+uH5kLd1tm5Qidn3E5cH6N4a9km/5cNKKzYEjWUhhlo4ZVl0ZYC1lFx2LvNUt9aLAm+TEoPfrG+KGlImFyYu8IP2TcjNtsZp6AxHqWdMmJRuQZqnOnu6IHYtt/RTpxQ+VfzNmJPo43Z/GQ+9Ynd023ExT47dz+d2p9973EOenyDjjDCagifDu8IG66FELzXytt6q7uDAKtLIxeGuhbAqX8LYLC6UokAxunBt8LfZMvo67Ea35kKuxiil4NxQ8zExODc8kr4OC38H7OnJoKv1BirOfzcUWXJdS1xKupbemm3gMzzqnN3jdkRL/9f1Hw4qqCfcorhWHeW5OOn1Bw+O/VaL40gQ+8H7xjX4/TLfry/GhfY9JagpXgBq35cMi1rfy02FNQelPA5Xm6yWB/Ycs9YrfzFVb2LwFR3QhSAxI6DYjDJa1rZl9BDxw69S6HtEHZWGGYRsFjKZC6ATzIwXNlOAHnA6QHcFfDnM4dTjeH1aHaoY8JnTM17aRqxzGWfFCNauXDzibjMmZQlgnz54PQ21LKjvRwMq8o+0R4iShmVuV/5kQyHPWOOg8d7KUGYr69n61nhSc1PM/p2jxaIa34MKRBmclmktMS8LbhMNoEt3rQ52IJ4QcXGKedj1zVsLZbHGOrBGQ/+XQRYh5isnB8upwekT8dtn4fwgApfASMDLaKfJ5x8mpJ8JVWeckCoWyHs8LHoZX4Ujoe1/xYOSxcduvVlUvWGsNrHcjvwRFq+bSdKUbN371cLzZqA0BjRgncFnxBKf9X7WrM/hJGYuOShYdLnjRKeSkBvYovBg3P5Hpvri7zEX2Wu+AsjgZSnK4 g/zUkQWM m9ETRpapzlG7Zp27xckezla1MWj/JZb/6HPfn4jK7SM3xY3dx/AOOuVifx4T2UZCOsmTWv7mNMMDzdb/DMJPaKNZBKzPj+LS3KaDXVbRV7H3aUTX1UPsk01qexgMfqhGr3my/7gQQrWtZHh9RPTdDKOIQhjlaSrndisnX71BuHYf82T3KTbTfKsp7MgSD6qpFTSceIApMmZ6v1BUz4WSxf2UCs3vOqWc5gDt1lp8mkNGkIx++mBFv2I4cF0xrvTV46otqnpQ9j66bD/T0N91nD0yv9vyfalmeErsIIJl4wSPNl+lAlj8lu2PdUMfYa+P3A9oGmd4i+L+Ldm8I/YB+BLxAr5CMUg8SMcL25wupCuab4KhkK6M4hKAYTVuTYGs+OP6pRPbNq10+u9+dCjeWEHs+zhEdFaVOabngrUoivZHXGSVIsvH1YXQZIIznJJgrCv9Dn7LlLRlHwzhhRnw6gJDsGFttyCgdwZjy7xQw9t1EhnE= 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: Alistair Popple wrote: > Device DAX pages are currently not reference counted when mapped, > instead relying on the devmap PTE bit to ensure mapping code will not > get/put references. This requires special handling in various page > table walkers, particularly GUP, to manage references on the > underlying pgmap to ensure the pages remain valid. > > However there is no reason these pages can't be refcounted properly at > map time. Doning so eliminates the need for the devmap PTE bit, > freeing up a precious PTE bit. It also simplifies GUP as it no longer > needs to manage the special pgmap references and can instead just > treat the pages normally as defined by vm_normal_page(). > > Signed-off-by: Alistair Popple > --- > drivers/dax/device.c | 15 +++++++++------ > mm/memremap.c | 13 ++++++------- > 2 files changed, 15 insertions(+), 13 deletions(-) > > diff --git a/drivers/dax/device.c b/drivers/dax/device.c > index 6d74e62..fd22dbf 100644 > --- a/drivers/dax/device.c > +++ b/drivers/dax/device.c > @@ -126,11 +126,12 @@ static vm_fault_t __dev_dax_pte_fault(struct dev_dax *dev_dax, > return VM_FAULT_SIGBUS; > } > > - pfn = phys_to_pfn_t(phys, PFN_DEV|PFN_MAP); > + pfn = phys_to_pfn_t(phys, 0); > > dax_set_mapping(vmf, pfn, fault_size); > > - return vmf_insert_mixed(vmf->vma, vmf->address, pfn); > + return vmf_insert_page_mkwrite(vmf, pfn_t_to_page(pfn), > + vmf->flags & FAULT_FLAG_WRITE); > } > > static vm_fault_t __dev_dax_pmd_fault(struct dev_dax *dev_dax, > @@ -169,11 +170,12 @@ static vm_fault_t __dev_dax_pmd_fault(struct dev_dax *dev_dax, > return VM_FAULT_SIGBUS; > } > > - pfn = phys_to_pfn_t(phys, PFN_DEV|PFN_MAP); > + pfn = phys_to_pfn_t(phys, 0); > > dax_set_mapping(vmf, pfn, fault_size); > > - return vmf_insert_pfn_pmd(vmf, pfn, vmf->flags & FAULT_FLAG_WRITE); > + return vmf_insert_folio_pmd(vmf, page_folio(pfn_t_to_page(pfn)), > + vmf->flags & FAULT_FLAG_WRITE); This looks suspect without initializing the compound page metadata. This might be getting compound pages by default with CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP. The device-dax unit tests are ok so far, but that is not super comforting until I can think about this a bit more... but not tonight. Might as well fix up device-dax refcounts in this series too, but I won't ask you to do that, will send you something to include.