Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp678826rdb; Tue, 5 Dec 2023 17:27:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IEQPqngoyo2UBc0U1tOGJJwScoLzDkVyC77RoDjYcDUbuko3WFEhf82Q5FDtyqew2YGiRE0 X-Received: by 2002:a05:6358:1206:b0:16e:29eb:98c8 with SMTP id h6-20020a056358120600b0016e29eb98c8mr243663rwi.30.1701826065700; Tue, 05 Dec 2023 17:27:45 -0800 (PST) Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id x20-20020a17090ab01400b002865781c521si6765237pjq.95.2023.12.05.17.27.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Dec 2023 17:27:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=XhbIRB3N; arc=fail (signature failed); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 46A598045673; Tue, 5 Dec 2023 17:27:43 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232226AbjLFB12 (ORCPT + 99 others); Tue, 5 Dec 2023 20:27:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229697AbjLFB10 (ORCPT ); Tue, 5 Dec 2023 20:27:26 -0500 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12D2F1B1; Tue, 5 Dec 2023 17:27:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701826053; x=1733362053; h=date:from:to:cc:subject:message-id:reply-to:references: in-reply-to:mime-version; bh=smRhhOsu3F8NMi+K0C0qijP5AIEkBLQln1wVq1wtgbo=; b=XhbIRB3NHkpOxFggUoW9PD8pS8na4ib/Hdbm5R6Be/SdUevyhCiAaPVg ubeSx52udEPGF9HpC5c10LpicU8vqL5CIQLXrK5Zink2lZg/VgCHhqCDh 3DHoWOBNDS4nusbUjNqc3OeCGQqqW7tGqeC98YaedjBlBA00UeP49P/60 5UaE1yuoEhKrnqnoBpgCKevo40q8lMcHVpxpTJkycelrtyuwZjygst1Pm 1Jt5nSlnBAAG5c84qjcSA2H6FxR43XVIT6swVYTITBHwcMJcbLIBjqSl2 b0NTupOIjIgqmOkhHDY7VmVvrbV8CiTDv6jMogx6X5ofCMdLNfAYfxwsv Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10915"; a="392851389" X-IronPort-AV: E=Sophos;i="6.04,254,1695711600"; d="scan'208";a="392851389" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Dec 2023 17:27:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10915"; a="1018402927" X-IronPort-AV: E=Sophos;i="6.04,254,1695711600"; d="scan'208";a="1018402927" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 05 Dec 2023 17:27:32 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 5 Dec 2023 17:27:32 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 5 Dec 2023 17:27:31 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 5 Dec 2023 17:27:31 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 5 Dec 2023 17:27:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iYKOZtl9+9IGLERYF62RCabXRLzbd30Pm1vWlVCimCAG8awzyYQQ6FpzhVhAmeHHT09cikP5aEvul6VTgzmqWXEAKYCLn1opSoe7GoCZ/gSHadjpMVTgM+0GmIzXWw39apmGl8Q5TvTIavPDnRO8FLJpTMQyEZFoPWePOmeKXY2/dfgWxQfJpfVSQ7qumoaLDIrdZGFzZsU450vWgNuscw8zMOWBJ0ee1Fof4VggWpHhVDpjaCLFyqn29MWGtl1FMA4Xypn5Gv0097R7k/y65vas7/Kl80EeR0Mc60jejSg3pUDTZa2iZ9gvnL6sCeuJ90NyG7SnOWWzeDGGPUS5ug== 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=UyY5QcbH+8Gf9YMId7ifTrBFdemZ5DBDPO85D/viuXg=; b=VtEhB60U3+rBUcDiCN8gWalhiSCbwtPlaozSVLIgAnUMaJCW5dimgu0KoXfvSQavO3ivMhW/+yjUTLpnfHpK+siAdvQIy3vTl6QqkGuYy9lSVKnWwI1lfO1QmHYCE1+j9GHZa0oFGj6XnOlYrZKkMHmqpqyAZmzkBDqhRBCQJ8FdH5W6pCNuprEf8Sk08d3RVqjFFI046N9OIe+nG1DGYTz7pBkz69mdQPiLDslHAwcFUQuEWUs71RQGS86BKkTyMRuR67RUMCJZLc0lVNEH3Ff+h6JZc75FmmMKYv6G+33b8Vve4I2AkQ0+9mR4O283LQ0tV5N9ZE7DfZEP6ioT5w== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) by LV8PR11MB8697.namprd11.prod.outlook.com (2603:10b6:408:1fe::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Wed, 6 Dec 2023 01:27:29 +0000 Received: from DS7PR11MB5966.namprd11.prod.outlook.com ([fe80::32a9:54b8:4253:31d4]) by DS7PR11MB5966.namprd11.prod.outlook.com ([fe80::32a9:54b8:4253:31d4%4]) with mapi id 15.20.7046.034; Wed, 6 Dec 2023 01:27:29 +0000 Date: Wed, 6 Dec 2023 08:58:26 +0800 From: Yan Zhao To: Jason Gunthorpe CC: , , , , , , , , , , , , Subject: Re: [RFC PATCH 12/42] iommufd: Introduce allocation data info and flag for KVM managed HWPT Message-ID: Reply-To: Yan Zhao References: <20231202091211.13376-1-yan.y.zhao@intel.com> <20231202092113.14141-1-yan.y.zhao@intel.com> <20231204182928.GL1493156@nvidia.com> <20231205145304.GE2787277@nvidia.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20231205145304.GE2787277@nvidia.com> X-ClientProxiedBy: SI2PR02CA0023.apcprd02.prod.outlook.com (2603:1096:4:195::11) To DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|LV8PR11MB8697:EE_ X-MS-Office365-Filtering-Correlation-Id: d0e0403a-b796-46b7-65db-08dbf5fa830c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6jq0bVCVw2uATs+DuP4yEzE83QVPODmHxzbGMdIFRvd9RqHaezPSK3mSUjEiq5VEbOh+CM6F+eQ1uqSlKedALRqcfyVtqZyuXS81HYdZ3Znab89lWPmYWUu6q3TSkF8VJroAdHWRINkEDcXEoDaMeYB6wO1GloT1tZYGT4PPCvWZ6TETnopp2AwTu91/Y3f9R/57iq3UMU+uDFvZCPBZVPi/hnAygVxRw7T7x2tJ6O5AuywwadB0RRAZaANZpABCrI9evXJ2cQyVFeKcOhr9J5TFUG8S1giOYD77HDE444dZ7F5auIpdWXoQwA453FwIhx2EVFAuarKP7+68FiSvzyRu30ACA9bG4uGwgY3p+IblAOcQs1/e+xdDrzl7QIWUUsW+SbrvItct7oNJpzrTUbgNyqK1Ck6WfObkrZzFueK+XnaHdxRYDiwKyepi18rSydMFlyxIfGbSJ+7PD6pNIOeQo+GN4gdVxp7Xx94sVYCpNs6SWwwAPH6PyF3orCwLxO5tv6EjboOZfQWGO4GYzDS/4PpxnG/TOr4HVkBuu1rTOHeVvESDugb7me/GP9Gn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB5966.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(366004)(376002)(396003)(346002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(2906002)(3450700001)(5660300002)(7416002)(86362001)(41300700001)(38100700002)(82960400001)(6512007)(26005)(6506007)(6666004)(478600001)(6486002)(54906003)(316002)(66556008)(66476007)(66946007)(6916009)(4326008)(8936002)(8676002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FTPEXarYV6F35j/TMw9NSQWB4oqGWRuwiCIpm3iPeWbLR33XoCFiRrHDF6Yz?= =?us-ascii?Q?EwLYlNou30ptGau+9/E3/asKW5icAqIPkVSfQupoN2oTQjUbutICZ6pHqqQY?= =?us-ascii?Q?M3GYZ4SFuXTAVvSjvdn4lNT9a8fMpSVYEzFdBhXHaDuzKbGLYYrobFMl6K75?= =?us-ascii?Q?WEYKTymvNeZQb+tHevlbG5AWtVGwgpAipv6lJPvWPtLOIPXH+MrCO3K78Edq?= =?us-ascii?Q?PeRByDgqsCOWVJbu+TVpOBT0WwX65lJ4pQ/CaU1/uozEGgZ2WbgLNb4xR1pv?= =?us-ascii?Q?Q5Nu9uAJzCvAoP3S6un8uB9nQPvmONvqyvO56VqjIjrMOZckspMqHkn0M8AN?= =?us-ascii?Q?oVLEwwfwWCx+BOJ8nrzPuI/oz/RWQb13q2R5sfyRqPMlWuiCCpOxK4SkI8ku?= =?us-ascii?Q?WKer+KqmlNwr8ijfmJ8Few9pNRHUWmrkmAyvTQbxq2/B00mxZ+c6RG90FuUM?= =?us-ascii?Q?mJGkYAP60E6rYUiRC7y0M454zaJ3ucscFfobmSw3Qpac6Snnq0tiCBhsywyC?= =?us-ascii?Q?6YahsqTq+8fnlxnKc3NqMXsQqhutwf3PKnMRd0YwRJ3rrbvt9xUQt1bVMice?= =?us-ascii?Q?x+VyGXEDZNJrzLDDbogpEUC48eiAfll1dQCSzGp7of7beb8ia9pY7FQ/RfCG?= =?us-ascii?Q?XW1SPpkP/coEnJhDyz/YDDgRMxqx+aF4mM/fzCmx0zT+gNEG810PV1Cc6o+B?= =?us-ascii?Q?RpnwF9kIeExgP/f8EAnLkR7fYg3aGVSDz5Z77uHiecrTZRf++vgli9v8mXYH?= =?us-ascii?Q?DoXBne8o+SWHAf6yr46VFPLQwD4bkHyPpRECzqYFSP4q4pjo3sEONHGMcBhs?= =?us-ascii?Q?lGwKVU0j0fBIBoQLhUTCFrdR/l8/BUfTgY3GqZUZY8bBy1YOElix+LRE+tSK?= =?us-ascii?Q?5RmA9L6HvjC/BI9+ZcPEkj53KfPkjbm5UHyOWKr+6uVQPzMy45sbk8k6Pr19?= =?us-ascii?Q?6iBLhVJ7G1suQg2Y3hOSLPUSiERVfGuJbcbbBSRweW/KqTsjySJzD2kD3ppN?= =?us-ascii?Q?fenNTlSckJtsvVUY+ZMzCmMPCT8oFgymu95tyLxPkctJeACby9DCOPPs6MPS?= =?us-ascii?Q?T71tlT1MJDkHbNPErtb2Mipbbw8GbXdeAawhXSB4zoMkgonVPYCeSsB5ORQR?= =?us-ascii?Q?993V57hfL2Zz/LOmMaL1WtyKeLZ01Ni8SxntGGw5NijPpL0G0jv4bqg98uxl?= =?us-ascii?Q?aDwBmkmJVpIuPRIlNfQ22WZZiwZkBq7Sg/dVPN+naISLULxVrpQ8YTpSpdqP?= =?us-ascii?Q?oUEQylLJSifQGiE2oTrhuTZfR+D8sAC+CDGH7NqYOGX1l7AtQd8p99Gcsedo?= =?us-ascii?Q?btrYayay83SqkjYMbuTQeybV1wm5y1e8C9lyQ7+S7Tb51jRtNMNTfSnoeQwW?= =?us-ascii?Q?OSMzkDqbq3xZLrik7k7zoPzLOgWzYUEJQUoyrClb3dtLwKrRYL3ry8EDo+YC?= =?us-ascii?Q?tmXRx420+WyA7c/ErsJyn6/qUMocYje1TkJG1dHEMU9Z6pHSkaEehfpo4rD+?= =?us-ascii?Q?hiJH8w5POFgXX4+GRYQ2tn1N02qnHXSMk3Pr4CP+WgM/rUQvNPPn92POIQD3?= =?us-ascii?Q?2g6nga26xlafdtE90Tz12KazaAU9A3ZkVol6vORM?= X-MS-Exchange-CrossTenant-Network-Message-Id: d0e0403a-b796-46b7-65db-08dbf5fa830c X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2023 01:27:29.3989 (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: eeYKcd7f1BgZx2eztLCzVF1BLLFQUeTHLaHwHeJUCtD9IlIXSTBHgShUqrYanlx4hF0etAHhzZf2KJyKtj62ug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR11MB8697 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 05 Dec 2023 17:27:43 -0800 (PST) On Tue, Dec 05, 2023 at 10:53:04AM -0400, Jason Gunthorpe wrote: > On Tue, Dec 05, 2023 at 03:08:03PM +0800, Yan Zhao wrote: > > On Mon, Dec 04, 2023 at 02:29:28PM -0400, Jason Gunthorpe wrote: > > > On Sat, Dec 02, 2023 at 05:21:13PM +0800, Yan Zhao wrote: > > > > > > > @@ -413,11 +422,13 @@ struct iommu_hwpt_arm_smmuv3 { > > > > * @IOMMU_HWPT_DATA_NONE: no data > > > > * @IOMMU_HWPT_DATA_VTD_S1: Intel VT-d stage-1 page table > > > > * @IOMMU_HWPT_DATA_ARM_SMMUV3: ARM SMMUv3 Context Descriptor Table > > > > + * @IOMMU_HWPT_DATA_KVM: KVM managed stage-2 page table > > > > */ > > > > enum iommu_hwpt_data_type { > > > > IOMMU_HWPT_DATA_NONE, > > > > IOMMU_HWPT_DATA_VTD_S1, > > > > IOMMU_HWPT_DATA_ARM_SMMUV3, > > > > + IOMMU_HWPT_DATA_KVM, > > > > }; > > > > > > Definately no, the HWPT_DATA is for the *driver* - it should not be > > > "kvm". > > > > > > Add the kvm fd to the main structure > > > > > Do you mean add a "int kvm_fd" to "struct iommu_hwpt_alloc" ? > > struct iommu_hwpt_alloc { > > __u32 size; > > __u32 flags; > > __u32 dev_id; > > __u32 pt_id; > > __u32 out_hwpt_id; > > __u32 __reserved; > > __u32 data_type; > > __u32 data_len; > > __aligned_u64 data_uptr; > > }; > > > > Then always create the HWPT as IOMMUFD_OBJ_HWPT_KVM as long as kvm_fd > 0 ? > > Yes, but 0 is a valid FD so you need to add a flag 'kvm_fd valid' Got it, thanks!