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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 93246D3C927 for ; Sun, 20 Oct 2024 01:37:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:CC:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=4+ibpAVR+QFcvVdTx4qMiifjf8cA9uyuckRiTmJ1k8M=; b=ZBYRzY4UA9bfNlw5PTxqw3UR7p mPu47F/fdNEBt7EhHn77s4MZTTIlp+4tWiKIDqZEqZcTGPzVa4woyYClL3NtugOhs8vT5YkLUy903 Qpl7WaGuaum4jrgFAp8Nslb12r/km19KeMA9dV1n/UmX17SFuLdvCSU+Z95VVOdZ/4+QxvGB49yfj PyfCOw43Q/Av2v5Kwtom62YzrGea5dChDGa/YQ3KO3kQ85eqh5gY58OR+ldf8KRXYfp24TZMAjdId r6RFSD7ceyIyFRfSBQJVWtMujqLVf0y7bFJ9EKHPvZtUp/Sef3DJDKgWgTiFFUIhw58xppZ4Qb/ju z3P58+kg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t2Ksy-00000004EB2-1W94; Sun, 20 Oct 2024 01:37:36 +0000 Received: from mail-bn1nam02on20614.outbound.protection.outlook.com ([2a01:111:f403:2407::614] helo=NAM02-BN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t2KrT-00000004E4U-33G8 for linux-arm-kernel@lists.infradead.org; Sun, 20 Oct 2024 01:36:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nxkXr3Q9d718hLEa9vqcwh44TIQ/dSoB2e4DMySad27Ejk53vPu0OGkC26VNcTYdd2Z5ynAnnkijO4bKSVdBQO6X7a/HCbxigufVVr2Q4t/4sej8zv61tMXuEy8k52UCDXth0JfoZG0p8tnkpVAJJP+j001ed79bJPeGLgUOZUMjz1ahGOul3AkfV3EW7jjlnNEBG7rU/Kw+st+2TTQ9r8+rsyYxetLa17w0ieEt1HblKyUL0BsbpWzfQXtleeyuEu+tuAb20v2wPBew/q0AgZqWAgv6Rkgv1qFdCosp2n4MgWZnF1gRnJgwSNNAf0BzXicvLeSsBaBny2TFDardPA== 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=4+ibpAVR+QFcvVdTx4qMiifjf8cA9uyuckRiTmJ1k8M=; b=BnbVicjj9EyL7TADQtoFobcmG7bNWlC6FsnAqFlEK5XcBMZAWccN5P7tz8k80ZYIWFQa9tgTDGIxKruSVWzjUfhWweZgd/vU/5oxRdNd4vKJ7/qMMc1vA7WDIAGJz9R7zm9G2n07axStUE6bIMBPpJIyWGA2XU4z0wALbAFeyFDMCWqk61ROxuvKZaybUD/P5+fLcDoAdHm00hbfW1+auVAUAfhwDwlVpo7i3V8xj5KskS5BoBNToQhICVgapiVwNF/Deu3KaU9bx1dflKD2+YUOn2IymTi5Q/4iZnIdTJ2graV7Gs9IBY2jh+EfweoUwJjDwco6X39ehDVlEZ6rvA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=intel.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) 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=4+ibpAVR+QFcvVdTx4qMiifjf8cA9uyuckRiTmJ1k8M=; b=pllLiP7WaDotsdWUGxmyx+oZTL5aY9trDpd6cXFrkcuUiM973+2G5ryEElEJsgZSGHKNJB5PMXEXpNVc2WHS1mrB58sC3NzQv7mMEFCZFMO92CiXFUfInm0LUI/5GQQi7bfVwrr1izUesMbXmA8oMGpQqrC3lEi36R2U/3U4N69ga0y8orH1Hx3/BPKDSfrOLhyxnpHn8raD1aC3GUU5iL7G4yrgrCMeXTV0xY47gtJKvk5VxO9BfC7aegR9Q44oSo/l9fegFwwsmhjyXyA9SGxujLNTwsUr3L6h2+kOjYh3xqV8uwWJh/gq9S1lGsDnwbRSAJwGtYjBRKlMrpaXLw== Received: from PH8PR05CA0023.namprd05.prod.outlook.com (2603:10b6:510:2cc::8) by SA1PR12MB9002.namprd12.prod.outlook.com (2603:10b6:806:38b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.19; Sun, 20 Oct 2024 01:35:50 +0000 Received: from CY4PEPF0000EDD2.namprd03.prod.outlook.com (2603:10b6:510:2cc:cafe::12) by PH8PR05CA0023.outlook.office365.com (2603:10b6:510:2cc::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.13 via Frontend Transport; Sun, 20 Oct 2024 01:35:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CY4PEPF0000EDD2.mail.protection.outlook.com (10.167.241.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.14 via Frontend Transport; Sun, 20 Oct 2024 01:35:49 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sat, 19 Oct 2024 18:35:47 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sat, 19 Oct 2024 18:35:47 -0700 Received: from Asurada-Nvidia (10.127.8.11) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend Transport; Sat, 19 Oct 2024 18:35:46 -0700 Date: Sat, 19 Oct 2024 18:35:45 -0700 From: Nicolin Chen To: Jason Gunthorpe CC: , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v3 01/16] iommufd/viommu: Introduce IOMMUFD_OBJ_VDEVICE and its related struct Message-ID: References: <556347d2e69e8b236ec946a93132181385344d4f.1728491532.git.nicolinc@nvidia.com> <20241017184556.GQ3559746@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20241017184556.GQ3559746@nvidia.com> X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD2:EE_|SA1PR12MB9002:EE_ X-MS-Office365-Filtering-Correlation-Id: 89cd7101-cb67-4fd3-87d2-08dcf0a78754 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|7416014|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Ppw3qTGKLHcCwVeZa62DIdGpuvHj1LvVwyCEbjh+M39DEZG/6oUfevr0Iu90?= =?us-ascii?Q?AGO1D0Ajfj3O11PwRErudUjarvdnpri5OXfrBt6ZkCvx9Fv1pBUD4a7kHmzU?= =?us-ascii?Q?IIyXXEDwkD3wCm4qbnjPYz2xpLyQZpHQt4eD0HHjGVDatFzRmRXt+cfOBesp?= =?us-ascii?Q?nXii0q4mWIEyXWe6i4pddzqhjZhZ5E18E83XZWzY0/TucbvpaonqJU4dhzHL?= =?us-ascii?Q?zlBa5MJCszfXzsL5BhlHnvN7uA7TEQS5xV8aRWAnnPK6GJbCvVt2OGSaNFof?= =?us-ascii?Q?kP5kD9v4hL2DupiqnyXSqVn7VPD6pc+SGTTwFsyOEdTWWEH4LRMHyNEDsiT2?= =?us-ascii?Q?Z/HjiPRFftP5SXcTkTqff4lkm0GrApQ+oJXBz4LjA6oP6mlnVRmqez/10Qlh?= =?us-ascii?Q?QW8BQJPiHqC+JNmko9DhRn8tQkh7DKF6lN/P84J5dVGSwPliGHgMtOg1XU9A?= =?us-ascii?Q?QFHHJfTgXYidg9Rf24fbyomDBWQ/9CUqQVvzB6GTeMIIv/c6UNy/l92vT2qg?= =?us-ascii?Q?MtsL4860VffsZf+5rUkPV8pZR3KoKoBtWZr3deg23tFSxpXQD6QsMnUugLIj?= =?us-ascii?Q?Abs/oF1EHwJBvWiQh525Lc08xj1xznW2JL5VU1xbyxePaY1ePsrkAlvf94fR?= =?us-ascii?Q?m07xKmVM77xBs2082xOJILzaQ8XMXPrw565NzJ087nxyAYeVQ91PmOwcEWV6?= =?us-ascii?Q?A4mxBkbR73CqqKtvhNyrgjAKqAggDA0Q21hPBFN/YTc0M32D7MxS4sWIhMBX?= =?us-ascii?Q?oeNcTeuMKiXZ34Q6BKS0+SjdDvaa1vlVR2XTqogoU1tC18BoK9cUc7p2QJyf?= =?us-ascii?Q?UHW9DPM5xBvlfdvIsMhrR5cT7foz+PzWPODgDffFNcGRY32Dv3j/hbw1FfaD?= =?us-ascii?Q?XT1KrWrzz+4rHDFrcAFcxbJbyLODT1o/dyyxoNk57zgqCUqV8PdTTXArDrFy?= =?us-ascii?Q?xPw0AQfPoDA4YPf/0hn8VxjBO3N3GbQZCvqmoNPV2Y0LWbBLl+4tQcFDMA/I?= =?us-ascii?Q?M2TkPLpxE35YJsGjKDHTP9avmF9PMH22ubPsv6LEAyz8a/GL7e6n3KQQj2FF?= =?us-ascii?Q?NUEFzVHjkog05AL8O61h1GCO9++TwFaax1uLKyYyWkzxvzbGxFC1z2OHM5MC?= =?us-ascii?Q?M8yMOIzUuOoN+fkPQahahcuMxH+0BSzTIO2NYtF/zg0et8IVPOczF9A5oEzB?= =?us-ascii?Q?m2MLvJO9wQgj+bU94XkZT8bHz11Gk9O/2FlBF6X8TfvJ0E8X7oRlU+mRK1sE?= =?us-ascii?Q?7Ljfvghpej8WsXDgq+vRUT9/bYlQJmJRPI4ofjnts8wJhmi01FM8kZyU9MAZ?= =?us-ascii?Q?tx7RRF3qoHuDZvhxfC5k0zl5aeDK2/JvXu/td1GK2Z1Q7cfbvFAPie/ov+jw?= =?us-ascii?Q?tWLrOKdPgJ0dmwsoDF2fxvPPq7aynhtBuzA3gA/EKCyiQqiMlQ=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(36860700013)(7416014)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2024 01:35:49.9498 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 89cd7101-cb67-4fd3-87d2-08dcf0a78754 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EDD2.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB9002 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241019_183603_879229_2662A526 X-CRM114-Status: GOOD ( 11.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, Oct 17, 2024 at 03:45:56PM -0300, Jason Gunthorpe wrote: > > +struct iommufd_vdevice * > > +__iommufd_vdevice_alloc(struct iommufd_ctx *ictx, size_t size) > > +{ > > + struct iommufd_object *obj; > > + > > + if (WARN_ON(size < sizeof(struct iommufd_vdevice))) > > + return ERR_PTR(-EINVAL); > > + obj = iommufd_object_alloc_elm(ictx, size, IOMMUFD_OBJ_VDEVICE); > > + if (IS_ERR(obj)) > > + return ERR_CAST(obj); > > + return container_of(obj, struct iommufd_vdevice, obj); > > +} > > Like for the viommu this can all just be folded into the #define It seems that we have to keep two small functions as followings, unless we want to expose the enum iommufd_object_type. --------------------------------------------------------------- diff --git a/drivers/iommu/iommufd/driver.c b/drivers/iommu/iommufd/driver.c index 4495f1aaccca..fdd203487bac 100644 --- a/drivers/iommu/iommufd/driver.c +++ b/drivers/iommu/iommufd/driver.c @@ -38,10 +38,19 @@ _iommufd_object_alloc_member(struct iommufd_ctx *ictx, size_t size, EXPORT_SYMBOL_NS_GPL(_iommufd_object_alloc_member, IOMMUFD); struct iommufd_viommu *_iommufd_viommu_alloc(struct iommufd_ctx *ictx, size_t size) { return container_of(_iommufd_object_alloc_member(ictx, size, IOMMUFD_OBJ_VIOMMU), struct iommufd_viommu, obj); } EXPORT_SYMBOL_NS_GPL(_iommufd_viommu_alloc, IOMMUFD); + +struct iommufd_vdevice *_iommufd_vdevice_alloc(struct iommufd_ctx *ictx, + size_t size) +{ + return container_of(_iommufd_object_alloc_member(ictx, size, + IOMMUFD_OBJ_VDEVICE), + struct iommufd_vdevice, obj); +} +EXPORT_SYMBOL_NS_GPL(_iommufd_vdevice_alloc, IOMMUFD); --------------------------------------------------------------- Thanks Nicolin