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 8F1FFC3ABBC for ; Mon, 5 May 2025 17:16:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F14146B008A; Mon, 5 May 2025 13:16:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EC4416B008C; Mon, 5 May 2025 13:16:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D3C346B0092; Mon, 5 May 2025 13:16: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 B4F3A6B008A for ; Mon, 5 May 2025 13:16:24 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8807C80306 for ; Mon, 5 May 2025 17:16:24 +0000 (UTC) X-FDA: 83409507888.30.F7628C1 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2054.outbound.protection.outlook.com [40.107.101.54]) by imf23.hostedemail.com (Postfix) with ESMTP id B428014000F for ; Mon, 5 May 2025 17:16:21 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=BWayLDo6; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf23.hostedemail.com: domain of jgg@nvidia.com designates 40.107.101.54 as permitted sender) smtp.mailfrom=jgg@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1746465381; a=rsa-sha256; cv=pass; b=Ib01PCG2Xtg7wTRo1j73gD7q5OlLA6vDQGMDdkoraMBxaF2BGKaOEW3om5YlhgBIx7HWi6 ys0BWAoB1lz0AWUxGWd38CWeay/qoUt7uleDZC0r3JxJXDl3YVxNYwaTCWJZ2kbxhoQo2U r6e2uPrEk2kOK+Y3KOsVM3GRSk76QRo= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=BWayLDo6; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf23.hostedemail.com: domain of jgg@nvidia.com designates 40.107.101.54 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=1746465381; 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=NLhtgcOm/AgrZOxvDlegcA02tFMO8iT7rek9lUCjyzc=; b=TCafxtH272IkhomLe327Ai3aFbYH54cQNXaZNnsZ/+/82paV3TqaBYi3yvBWA63UilEAum IJWrJZ4NEaxFY0K5n3WRPjECv1arMZqi+vRF+jf2bqPcCJjv5SGgh7B4hDcJZp8uWzuGJp Sau4c9LJD2+eqaeXjhD48E0MqciQE8c= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=puD3p/4awpuvBa6O+vcL1oKOd87Y0sYPABUdyFb5BbOiCr5FQq9tbrggYEvjC+pnR1B+gg1oI9CDFXDQJfDXw4lgAaR9Xhf1GqV/Y6V0pNl5o1N3AROsqYJki+C0/aqVBNDR9mqJ+PPN/nHx7f24T/OHhwIFS18fg7W6HhC81L84+DdWVE20KzBQxHrf7RkxqH5UlQryH+LxBMfguQhWVUssc/mUPQzUSZo/0BQ+r0MYnQYFkuX6VgzK/zINDG10eRCG/7pDgz9GBtKlIIB+85fypp+817vTN9Ug9CPO85uNstok1Wndg4el2rwTdkTn2Gr42M63ncrAEHiXwugIWg== 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=NLhtgcOm/AgrZOxvDlegcA02tFMO8iT7rek9lUCjyzc=; b=MPw/cold8X7ssid6ES74L08Ud1VKhGpY1pDkwD1e1/8DTdAwaO0GnQRmNV9z3pQJUYXwmC62zjp5eHtsH6484rfgFo8c1mzzcm0ZVl7Qx8+T91cz6y8QQQVGp6LNzM0nUBiW/XSfFyGO1m0qQICUqIRgHqkgJAaHB8CpXPKX6tIrks/mhl+2xrh98NYrxjcigw1HpVN6hYvYcNUV0JRMZKEtXw4MuhX03S4Xq0T7bXBk8r/CWyZuqCt9pDLl3ZBJuEwsVhYtZi2j4gqpDNqOJCqKjF9gc0+D078vi2DRAFzygy9KV0wn4WSgAg63uF2F4VaB4miYsNHghiXs2ECvtg== 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=NLhtgcOm/AgrZOxvDlegcA02tFMO8iT7rek9lUCjyzc=; b=BWayLDo6vjxGGcrn1M5RXW3pPKCKQJKd+a06botN1150AZ91ahP9a/F6g0B4onb3cCdjyC7dw+JWeY8s6Oo+v5WbKdd5kVZ3xFO9moL9PLwSsTbTE4u34gzM4ESA1YWi24ET3Kdd3uY4WnptScGFVnOQI08JDDe50Uyd23Bg3MxH6brL4mFD3ymt03GRjbYNhxy3zWsChOC+Bb0VW7H1F05EYEaR0/ZAF0NGjJybQxX/5zkJsueSn14PfCdoil6LC3nHu/H82kbBNUy0pVpDHnCtvwRtRkxl3LplfE4HVRLK43L1nxS+81sKRQIZbxQFqznipg8mXykv2QiUmLBn7A== Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by CY5PR12MB6131.namprd12.prod.outlook.com (2603:10b6:930:25::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.39; Mon, 5 May 2025 17:16:17 +0000 Received: from CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732]) by CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732%6]) with mapi id 15.20.8699.026; Mon, 5 May 2025 17:16:17 +0000 Date: Mon, 5 May 2025 14:16:15 -0300 From: Jason Gunthorpe To: William Tu Cc: linux-mm@kvack.org, weizhang@nvidia.com Subject: Re: [PATCH] vfio: add dma map/unmap support for noiommu Message-ID: <20250505171615.GQ2260709@nvidia.com> References: <20250503004821.16980-1-witu@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250503004821.16980-1-witu@nvidia.com> X-ClientProxiedBy: BN9PR03CA0931.namprd03.prod.outlook.com (2603:10b6:408:108::6) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|CY5PR12MB6131:EE_ X-MS-Office365-Filtering-Correlation-Id: c8ed0d18-2b54-43df-bf4a-08dd8bf88bd2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?x3CUQCBmbk4QBhGPcc8xS6GL9QkPGX32MmYsCwi8xWTN+rXBuL+C3ks33Nyq?= =?us-ascii?Q?LV+Z+/ezWQbDacIcJdQkx8PKy0IURekqpgy89VB71cGiOv5AQc44NPVXt8ia?= =?us-ascii?Q?lbzhie0YHjBNq033M9/OiuXBnTcqt52Ulgq9KLTCSc85bF7a8Y2tSs0+gCvz?= =?us-ascii?Q?2dZScJMOQ/364QFedbYEAzvo+BpI7H1FSeQuHrpPZmoMkdwz+TXkQFX3KfTv?= =?us-ascii?Q?PIb1HoibNU8Aare74L0hSN3XHJL5iaaKcgMGJ8OZTYgjimqZbcEFm1GIij9s?= =?us-ascii?Q?wI+InkcrIXcq7vDayairsDLtrplk5PaxOtsLDZLfR0KP9wv5LIMAouKbqsdW?= =?us-ascii?Q?xrldABB9LN9n2Cy5ONvgZyK1FlND3o7piLg0VWf5JL99e3Wmq5jWjIyUTeJV?= =?us-ascii?Q?JgaWmg1LtRkD6/A9rF2e1ptPKJDofMz4EF34d9eKw5W20rsq0iyUfwvKNISN?= =?us-ascii?Q?afLzia7koYUMD3KUvPyBdD1Ne304VQ3vwHO81DUnZNOQ4m+vmE8wZZJD6kDl?= =?us-ascii?Q?AiDqa2TZgyH9fZrGvvAE5/vXoBhldp75UN/Hh6G1VFZz0UrlgK6j9rtaaAHb?= =?us-ascii?Q?GShzQnIl6EuaSILFEoQMG4Ymd8e64nyZGXhCHLjY5qBMfQdBmiSCfx6rTRzU?= =?us-ascii?Q?/HjKkqo/YaETjGepavePi2xIaFBkjNG2GPamhCmkBLvmyzUI446NolD0HJ1Q?= =?us-ascii?Q?ldcCwFIBCwiIko47ej5QlhaSf1C2L8wwBZX8edDB4PKUnOlxycsIyIqoXBOt?= =?us-ascii?Q?h6NVN8zuYlm0KSfG6mOk6guUqVMoxkZzQjQFa5WffGyvYBdI9JyB2YWXohJU?= =?us-ascii?Q?1QX8YNRCDXUQ8JV3frFqLPacfrZM2ZGXNdCJnADSk3CJG8QsacKxYmjFxlUK?= =?us-ascii?Q?th1o1AjY/1PoeC0YIQFayXAjjX/47Lt7efDIqeXyRxr3fQH/xlbcDWAG5Yqx?= =?us-ascii?Q?68y9tQ8N1mwBBx9Fbx9RpqRZQhqw+Gugk87j9pAITfCi/H9mRc2OGOC80Wvt?= =?us-ascii?Q?LH9VrhNsRaW5HYKj8/5MwXojqE/bVhJwNpBMLszP8pITRWWxtF0gXV1LtW1u?= =?us-ascii?Q?Itu9yyncFZ6FZG4X1Pyu4KeOwgg04FYpjjPvB2CjPS3QZOEkIFm8+59CYFdL?= =?us-ascii?Q?b1UIACUwYoOggSxR+QuxplG5O6AWk2tXS2gLorGa4pvJ7SGCSkrQpybhUFVl?= =?us-ascii?Q?Yj9WgUe6/6zh+PdXkHYveutw8fKSVym7hN/tXF5wT2We/1LFSoqHRF3taI4d?= =?us-ascii?Q?1FtYd/rvgaicNYHakD9TuLJJcjbGoWg4elhgKNF7jZN4wfPWmXDKsgUywBpe?= =?us-ascii?Q?FE9QvXsgM5IJ13bRen3l383eopxvMluhRAdev9szpgkrlq9d9n/O2sqsG+4u?= =?us-ascii?Q?yzzk7FmTE5N+IYQj0ST/iOoCxiadu5GbnyG3aIjWG3or3Lk3tWggQYwP7HbQ?= =?us-ascii?Q?0AIZbCm+Bzo=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB8659.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/E3P3Nl86fnLTef+h5L/sYb1AR3NSuFh9jW/tYxGPIgYJLqh9nUabPJzamni?= =?us-ascii?Q?OPwbKCWF+OkdTEIZi+g0dHx1DPjSSH9powS2ZzQ3ihtWPOaZhh3nRu8cvYvB?= =?us-ascii?Q?gjpV74lY69bKMk6YmWl49tgBXkONoyT6/95p4Ee68r7gd5qvKZdKQCEXBvwj?= =?us-ascii?Q?RJM/NLfGgq5BC5rTPj1PLr6GL7J2pxkacBtE/KDxUKGcn3Cwq6dOottHXCzD?= =?us-ascii?Q?uVi8elvq7/u4xc0yO2Wpn0PfPMWHOaTrdTdUZi8HL+fGzyB+yDWAKv2LDpLS?= =?us-ascii?Q?2RB4kudPw24mJLPDKOtF/tS2hL3MoRygYGaVzu+1DV9smjjbTOnTRLiPqf5r?= =?us-ascii?Q?7BDmw1OEFUMYmkIZVdM8nTJOBOfk+qaTShUjf9Q4rxwAB4bVdvMrkxQ6IICC?= =?us-ascii?Q?lRcMWv4+0jWtIhe+5b7d2xT9eMap1K2EoGzfX1n9EYDQN5/MItm5GCa7GtZD?= =?us-ascii?Q?sS911yEfw4a7L9pD3XTPWpvBA9i1w4uoI9Wm4q3kGF09Y7Dys+E31y52JXsA?= =?us-ascii?Q?GPF2D1dKBeNvI3e5AlFUraPkIc9mqJrN0N389+CdcUVAZ1+P9jfjlS73lSWk?= =?us-ascii?Q?G8RT5tjTorbJ9xDlBuzu0ncTXxLOnEKHTWUKbBODD3y8p2wjnwSrS37zKesS?= =?us-ascii?Q?erpog6WdA93oMaoMV0DlFMxdDqMvYC5s6JsFG8wy7u4MulamgSMKuosXoDDK?= =?us-ascii?Q?6KTQBmJ9bMUdZdZDiOqFIzqficoSR/bV4Srw+RW7VBRLUqecjoficsCQe4aO?= =?us-ascii?Q?p4wg1AbkGmQKtGCHTjNxFaytPjoMY1b9TiQd0OffxGcl+H1adhdcdDBYi4qi?= =?us-ascii?Q?dW1/qeR3eE/DCXwymCqLVwS6VH0lLbrykbbzGqufZn0cAgot2VPoDk/t7jpI?= =?us-ascii?Q?78qw7Wu+wN9LSVZ5NxKRsXCbx/OB//AUSq9MAsqATc558jZAp4Il0cIS46cS?= =?us-ascii?Q?u5p/WHlormcC0mTZGerlLGSQCkuFD1fVFkU8pNoe+4M6OPIUCZ8Up8mepE2j?= =?us-ascii?Q?8Ghnplc2Q6Iu7/cQaC+EPFGuLd9L7cINXK02wIAB2XsJmzJ2EPClSfw1faJJ?= =?us-ascii?Q?CGT0Kahwc464WTi7EpHPdpctUGyeRnc60zGKU1s+66BJk+eAhjY6lfLFiLWW?= =?us-ascii?Q?tFyrEEVKeoIeN1/g8tRZdN3KezcNvtO/KUgrQPgvqUXpBpdQ4se2sTKrv2Oy?= =?us-ascii?Q?7eeC/3gdXJvB1cMfPRAol7ZnHlbuqZCqTrOJsOcgaBFbR0f5t31zjfCJegND?= =?us-ascii?Q?mPHfoKko/nztCmCAI3btrGlMb09Zb2P1fzOrjWyunm1ck3dXCmdaccGcZJxi?= =?us-ascii?Q?0ZYO4l4GMtn6eau2JfNRFt7OQMU3jZIJOi+LmLilffj1gwOJLn1gHvvX/bPq?= =?us-ascii?Q?k9Huha5M0A5YdcT4t09vd92JhCVm1oVHFdo9HCE4LDE6zavcTq72uvWxaQJW?= =?us-ascii?Q?r6c8roWjfZquS2MzL1bAEVV5ugjuWXHJRu8+ZT639BocmDtN9Jhq3cfyau1z?= =?us-ascii?Q?4vUuZrJGN/DxWOgMHb+FRyohUu7Xb9/WX0yj/Dla2oGvoJReA5r7Sz6adky1?= =?us-ascii?Q?tr1I4sJkPzwBkaLqWzCxo95Nd/q0KsYecs8xdY1/?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8ed0d18-2b54-43df-bf4a-08dd8bf88bd2 X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2025 17:16:17.2608 (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: IRNtzHb7IlS9uFhQ5hSoJvx1GtlnNpLWeZeEmu/FY+r9GNTRGETLnBk405008w0m X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6131 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: B428014000F X-Stat-Signature: 57xapkgzc54fz4yrn571j7zcy5oia9su X-Rspam-User: X-HE-Tag: 1746465381-514139 X-HE-Meta: U2FsdGVkX18l9ylKPffuU48WhhtvkrjATpinYammkJjHYTwr3HY8XoMehoyPCITyHIaq/sM4nR/phDmRQhhnS6/LgAVqtoiuFxMpwt8V+7b2niv3MvEjro0tJyAvnlA3wGrSolsIjFi3lvvWTeefM6Y7WqXKWdBhYSjy6AbdWB6I3yvdEXZaM68CLd6V9RXPmbaKZi0G4wVi/iaanaqK7Q6MqI2gECcDNLOArQehyQGA5U/e3jKWZ3tw1nFgAGaDeTi50Atf2/vnUtduk3g3Z1YeGnBdeHz1+Ax+Q7hst9lXVkDsbUQnngTr51kxtXT4V/qPkbV+zK9ATgv6Ga70QqSO5PDDc16I/QJRsi0SGgi/cEPZ7G8aSClqOscutZZjA9AdAKygU8RfzGntY+JMvtbLeue5E7jdwx1Uuz0k12oVM19GqcbD6buhWCEYZ0Ida26bnT9rknNpHLl11pa1T1AOg0EeJmVDeeaP3fR7iTjHIeKhJJzfcWe6Vrl3WYsdT7R20dqhhuoKN2hJbIe66yn7RN67zQk9bcFJNRJsCYFZqNEjw6Ys+722/C1TTgCJSVKMzLHJBOAkMT6IftEZs+bnXBOlrgtuBYeMrJ/5qdEZTA9lrDOVJhK0WE6TFqUf4CopN0kK4msl1LPDiSQKlMEpPY+J+PBit+op5F3ICjOxXGzcqIitmDyV5mdpNyso3FolGo9IhFmY9J40ikDFIwlUfHgubmq+szBjsOz0nKPj2eiz/eIrZyLN8Sf+9AzE5nquE81xaQbvbjCTa5cyd5IwHWUUQvdYV0b+ys9yEpF35W/SXpzFIdoEjEbdSW7OPI21im1u8b9tuVJSCvu7JJfrwoLM0D2ixiYShNbi8C5mPrLzGJf2IUuNY7oTZ5XAGRRB+cP1Mwkc+Em0q5jAVozHYj/sLcvn2DWprQsSCc8+fRccUNHDz+bqSkJgsRE7wK5nPUxscau2HXcdTPW DI43Jwhj h/eU6APPqaLGDiqNdwrO8KzeOZ44P4nuUmAsk8BbUmPJcXcnHPBBAy0VPT1F+oLUuTxr/5WYvo0M+qvaqaP6JbvKy0KwR7yQhScESQlFQqJ+mlZ/eBe9dqCRB4OowdDEsJqxkgEi6t/hRc2Xj7mEVCJgAW298xIqExwI0Kpi02gh4fWZcBBl8LAUOYrP49v1MiK2brrJlBLRbKSTO9F7DrxDvJsn88Va/eCGRuhC7+GtJd2bi39OouIIkZfA5tET8uBTmNFcSMeiKTqqGe//ZihGls+U1npScapBh807QWdq5WZBT50WirkKUVjx88X+5iGOKRAMTEV0lcI2L50/caU4vIpK0DYPPZw1E/UGzT7+dPMOgxL/5DZG2vvX0sNv6Ea7v2eAXON5G8HCPpyqG2WuDDbPIdh/X5rUKIdPEdCBMgcmFxKhdJG4pmA== 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, May 02, 2025 at 05:48:21PM -0700, William Tu wrote: > Currently when using noiommu, the VFIO uAPI does not support > VFIO_IOMMU_MAP_DMA, causing userspace VFIO program to use > s.t like /proc/self/pagemap to get the physical address. > The patch adds the support for dma map and unmap operation > for noiommu. We are not changing vfio container code in significant ways now, new features need to go through iommufd and use an access to do this. > + while (remaining_pages > 0) { > + unsigned long pages_to_unmap = min(remaining_pages, chunk_size); > + > + ret = get_user_pages_remote(mm, current_vaddr, pages_to_unmap, > + FOLL_GET, pages, NULL); > + if (ret > 0) { This doesn't work anyhow because there is no guarentee that the 2nd get_user_pages will return the same things, and that is the wrong API to use anyhow. Jason