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 CDD2BC10F1A for ; Sun, 12 May 2024 14:28:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Ryqs5nH+/anQxl0tPJXIUxlCoS0LtZGvK86YvEtcfEY=; b=3WJHuHOUmQ/D2T 4NKRaXDdL7zO61P2en3SQbpO8UPo5wjQnkKVUR3lbU7liMsh1xNMLrZ6fFBqNVO16CrXwk24YTYYk sIUxTqxgkfmmO7pUZrSsPHAwEuyA//fqXekabquG57zt19vU8KItH2JCxPdrWi3IlRVcME7hVKanu IIGLelMm/RrGWH6hBaEQADoCu98mitP9zjao9syP8THhJEjhVy7ju0dLj4EcQEgtMWxgiLNLU9G+Q IcDrZ30G3HFyjEmf4eUnmjlt9SqfqW8f3glICFIzHEq1n6HyJAk8/3CZjpI/f4Xsq1dwtjTGjMEO4 TZtKq0Pf2qMQ6HrA+17w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s6ABU-0000000A5uP-2ln2; Sun, 12 May 2024 14:28:16 +0000 Received: from mail-bn7nam10on20601.outbound.protection.outlook.com ([2a01:111:f403:2009::601] helo=NAM10-BN7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s6ABP-0000000A5qV-00pO for linux-arm-kernel@lists.infradead.org; Sun, 12 May 2024 14:28:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HO19iIwvYiWGsEZ26y0NAXvf+CckgQyvOZ+bEtZrJwXhYLOugD+Gd2wcsGROpsKD1xFENhcLbIVbFFoZJY4Shkd1zEGdkShaz4reuwhZOdVjiC2FXW9yPXWC9QQ4H5eY+65Hqp1AeVCFF/TmAalBABBq1oG4bfxOhuq7KGDEokL+cymhia2mKdwcXFVnR20Dp5/HMJE+1SfOqDM17pwKz/Pul0GEvUMbou4qELsA6eW9cQFukP8HWWBJL+YDH8/Mwken/mX9PMI70dYzhLfzzSjT9rLsm4X8WleJkG8Otk4Bsfrz2wZv25jU0JW5QXHVIJSVHVYMybZLgEgZKFpRZQ== 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=ESAXSNWqvPcv8oN0yIrvpCvYQMycgCvwv52avaBHFfc=; b=ctSMYJ3oyfKP7V9sMDIkmSxHMXIZAg9SpfVYUh0VE31HLiw4jDazTclXh+kQIYjY6fZQ3LfVEj3YdiT5DHU7FcMnLeMBuZiIa9GhmX8I7/xA0ELo+Z7A1vRyZhYon9Ew4k3N41Ob1VFBZ8ey08goghuUL8OwX4f3YvQgmqkU7oOWuXEWf2CT0la/cFXbfGftNT0BZ7Sf8EXLSjzk+nrf5t4Gp6vcTPx3u8hcOF4LwRyOQfhol4mYqTTe1oeKquRn0Qf3TxtVPmXEntQHRkUesTskf4DlLzCDFOYnrr9KZgXv9gOMDUm3rc07E2EP+XptZKd63ZjRvSf9jI/CDJY/TA== 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=ESAXSNWqvPcv8oN0yIrvpCvYQMycgCvwv52avaBHFfc=; b=dLBeMMCDnYLvX1zqd1xT/urkrteyAWyuREVfqI5HoKorLX3am6dMI+jb/fZiXn/W4AiAKWGvtaqT2b/G6obSU9/UGXr4jth/z8Mzz4dC0xWLG8H1Ncy3wyAtSFxDArBnoFbjgBTXlQKrqfww+WzkEs87JPwhE7d2vaRxET2pxi7gDokZr45bJ5ykpiV/a8cHJotmbqOanF2i4iXRBpnz+O90fyuJiYlb3NCE69uqkQ38qjRQkBZf8h4y4IywqJFhknW38jO79q0hyw4NGQeJwtxh7hjGrjkb0wWRj8O8htez5sRvDh77I8/FLVGzwpeLuyAFQ758lnvxvjOzS39DuA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) by DM4PR12MB8570.namprd12.prod.outlook.com (2603:10b6:8:18b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Sun, 12 May 2024 14:28:00 +0000 Received: from DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::c296:774b:a5fc:965e]) by DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::c296:774b:a5fc:965e%4]) with mapi id 15.20.7544.052; Sun, 12 May 2024 14:28:00 +0000 Date: Sun, 12 May 2024 10:42:12 -0300 From: Jason Gunthorpe To: Nicolin Chen Cc: will@kernel.org, robin.murphy@arm.com, kevin.tian@intel.com, suravee.suthikulpanit@amd.com, joro@8bytes.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, yi.l.liu@intel.com, eric.auger@redhat.com, vasant.hegde@amd.com, jon.grimm@amd.com, santosh.shukla@amd.com, Dhaval.Giani@amd.com, shameerali.kolothum.thodi@huawei.com Subject: Re: [PATCH RFCv1 03/14] iommufd: Prepare for viommu structures and functions Message-ID: References: <734ef2f4b2b3e743e276d65f775062c5996064f4.1712978212.git.nicolinc@nvidia.com> Content-Disposition: inline In-Reply-To: <734ef2f4b2b3e743e276d65f775062c5996064f4.1712978212.git.nicolinc@nvidia.com> X-ClientProxiedBy: SJ0PR03CA0268.namprd03.prod.outlook.com (2603:10b6:a03:3a0::33) To DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB3849:EE_|DM4PR12MB8570:EE_ X-MS-Office365-Filtering-Correlation-Id: cb099464-b1cf-40f5-faa9-08dc728fb99c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|1800799015|366007|376005|7416005; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?s+PCbEU+lk+pT93NL31+JZYc0Tx0FAxM8lMMn7Ujsp9MmUv70qJOaCkoRxQe?= =?us-ascii?Q?81f4myeDcoMACjNWjzsu4SEtfG3oCHisoCoXLxpCtuZSOUj4wBbo9YYB+sPW?= =?us-ascii?Q?xsLC2pTSh99v4/+oYxkxU3CSplKsFTIQ8mJg+QckwYV2eDEyHdoamf7TbESt?= =?us-ascii?Q?E/XuAZt+FYpa3UbfsLPMkzAniv/nzTrGLTTtUhcN3hYhmQkhIQwOSifhrDiS?= =?us-ascii?Q?8Ltuehrqfx7sysAXY2bXcwanQycYnVkQGEbfTZ+/GyGmTrIEOW7bpaefTCBI?= =?us-ascii?Q?uj4/vVC5mYMbZTQzDBU2HZN0VM2q0rk5aAVK7UrNZQKjTfaCyZxptvAS+zMc?= =?us-ascii?Q?6QOc9qqyuNciXCEcwheWDsa3xcUnBE31+gZuSGQQPJ5b/JPmFEkfNe5/WfYg?= =?us-ascii?Q?KwNr1nlrLydBN16shNS2MQqboDXAyAONakPkovh+IKbtmhqpbOSW3/9JcOsP?= =?us-ascii?Q?aIw4nCSC8GGfq/ctLdrRA2/MCBeSkrbCXT2x1kB7OKrRAeS+R6E4SC22RRxf?= =?us-ascii?Q?JSP1HIV3pS/IYHEhlnhMKu0FO1T6nAeJ3U9vrKPxFiiTEBo1F4OHp4iQsIGf?= =?us-ascii?Q?O8AvgFoIk0yVyeFfNNYRNjCJg2aQIDcVSRAvkEyAX6+owrmuhRNNrAK8trJX?= =?us-ascii?Q?xIuR0FLWYoVHi4U+fVlsOUV+sZrWIk4fjaiMCY5/bEft2hDbSuHDQnV4fJSn?= =?us-ascii?Q?5QZ5D/Kux4LIAEyvYwNaN8jB5AKqYlAqDlNtzuK/aTrZDVLzYDgCKfcP4x/b?= =?us-ascii?Q?53J4cTxFfxs26gJDmyj410aBRTy38dJ/qYpIfkcJzVlPzJ/kQQvjN688+D5C?= =?us-ascii?Q?6cmveQElI3M1tI5gcyxI8s4mgLyX9r/a7iVuN1saPCempp94q6q2bbg7DJY9?= =?us-ascii?Q?qIpzxxJnofvVf/Hg30xS2UUBKRscioiHHby3Bm/EG4OaMInNIDarCXl0CeZV?= =?us-ascii?Q?f2Jgd1cTMc+P+1qNV4nJJZQQEhgio+hqP2Ja3cjze+kdJU72DnoJ+goCA9LQ?= =?us-ascii?Q?fKCVIX5C4F1JW1BuZtBYSFWw5/7cj54igK4d9TmdGGQyq6ofMFbj0svAB/rr?= =?us-ascii?Q?AFJXTlnoBil+bH+qWUvdFINRb4DZ5BdIoYuX9KURcYVRx1v2T/SBAnQeXexv?= =?us-ascii?Q?RKCCWfe05lsKNQt/SGFIXLHkX68Mg9JTdtnUwikZi2/IaHAmkEPzlR5DEXcU?= =?us-ascii?Q?tbtfxJA85mLrpSum6I7E5qVCe5tiTc10SI25LI++P/8vHyEjOCr4toae+30g?= =?us-ascii?Q?misiOASNUG/GSnWlvXyKEQLxI601vzxJsP6YsVa9xw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB3849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(366007)(376005)(7416005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3l6tfVtRH3+GM5MNc/kjUZQshRYJRukcU0LCtedjK1CeAoPPQQH/2XlgV7r7?= =?us-ascii?Q?XA3+ONl7spszXjoXerQRamN5buOG6Mznnl9OwnPm4SbTCCTk9e7Fau7nxjRy?= =?us-ascii?Q?+nJReyoudauU/Bhe2Pxpfo3eB4mdd4UK5+VzR//baT9PHIcgpwo0pfHMBmPC?= =?us-ascii?Q?BgcEHF8klg1iCe7Eac+0Ii3RuBp+maYBKn/xgRKi0uTQtC9o0vUijCqEQq72?= =?us-ascii?Q?c9UOLFYpF+d1nsu/WmpOMFDWL4H5XwjfxLbIBv9ejqy9eM3fpDlG/VDGnPwd?= =?us-ascii?Q?DUAe5l9zRm1FoHpLAODRAA7Os7MxRbbsjP39eIxI5fyHTW/S+ZE4Tb4MCqg0?= =?us-ascii?Q?GApsdUsQ7Io1Vge9gxmAFCL7yyDoxF5wf5AC0KfGs8ve6NnCODZ1ZymHZ/u5?= =?us-ascii?Q?5Uf/QszFcg5KsJ7rxFao0FpyRF92kTp2yXfoT9mhCYdN0ABAg2l+1bGL/f8B?= =?us-ascii?Q?eTpfR4K807ROLZl44Oy11HcVfqlj2dI/Y5Mh3817j4Q7VWJ91bMRyH2XgENd?= =?us-ascii?Q?bhqASCFioUTDJ8FQrHKQ53pFD/O6ClKNyEuTnhgBlcllFd2lPeiKWtjZnk4N?= =?us-ascii?Q?GbRIVsd5iXz7gvuaqXZIPyldRbQKCo2SZmyUAPXs4ZQrvG0dAMU9u7pdD8JO?= =?us-ascii?Q?iJC0shibyRKRIqTnVeDn+XJcuum/C1guIu70kSLvCF2a4c2zkfQH3zMrJCcK?= =?us-ascii?Q?oQMGYVBX4Xhy8nUipqxMdeWMaQrKm6qTfTZXcW1OR7Rt875sGg5lAV0fMHHx?= =?us-ascii?Q?AiE4wrqr/1uVinHFCc/sSl6zhqkPFsVQ0QEImLutWDaOj2QAqT+bIirxXmPd?= =?us-ascii?Q?D3VPl6yYUqnzrMCVmZ/T/ARQjbYW9DQ6JiBXvwbVVmoghRnrbaUtPUNUFNAe?= =?us-ascii?Q?qNPxLF3DJR6ku+21OwkZOa76cIrgtFl/2NbafHrbyPuVUDBHT+roAhX9HYSl?= =?us-ascii?Q?4AMV+CiB5mvP5IJr16RRykJfxG7dcJf8JJbHNODDt3TCc6TkEIHp1kXZOkGp?= =?us-ascii?Q?epp3GMMi60f6cPkbaF5kXAzS9sHMtgRFR6vKJnWGKcD8t1mF/+KuKysDjesq?= =?us-ascii?Q?CWPOX/FPO7t9GSKEkq/fAdFbweI4sQsIZ6QbTBvdwtsZw4Qmi4zkVtpge0ea?= =?us-ascii?Q?uaRt24ExCNypF7BXAzHZAceJUL5RREi5F3+Ipvv8ndWuHw2b05Z0sxyO952f?= =?us-ascii?Q?t6wr3azRxYl7BI4wv+ZAMsW1pho+iXw/W8EgWRxUY6s3JBsJSXANXr354th4?= =?us-ascii?Q?7XHWKosBMcRecmSbaOFJJUMvu9gRamn+ziFJlyjOse46g+kd5k424PJcUS8m?= =?us-ascii?Q?3mH7lWEj009kAPhTt1Ah0eG0kh3aHrNQMua9Dq8AreDKOH7GHPQu4MNTOhLE?= =?us-ascii?Q?/M0jVEPD1LD55FBbaZgbHH02YRWJfYX0UFkejXfMCsadMydtu91ffrrYDkP4?= =?us-ascii?Q?955YSfW/8tk06l2OrwCZFeXvLg5kPwJnvJkaEyikKid9qR1VckfChbn0RcgL?= =?us-ascii?Q?wiPCx29zvYYqb+N2EF0Ur8GzW4tEKI8VrBqERKMQz8fKMl7YzLJk3OiUbccI?= =?us-ascii?Q?oYq26Hi0LZU2SEHMMZmauciLiXGKwmrw3FtVZTGD?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: cb099464-b1cf-40f5-faa9-08dc728fb99c X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3849.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2024 14:28:00.1010 (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: hiVjPNEFmuvtamg6YhTmsnmF9OhHEn1QXFxaCl1nbA2mZEs7I58iYa2oq8HoUylu X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8570 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240512_072811_073540_EBB0A245 X-CRM114-Status: GOOD ( 13.29 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, Apr 12, 2024 at 08:47:00PM -0700, Nicolin Chen wrote: > +static inline struct iommufd_object *___iommufd_object_alloc(size_t size) > +{ > + struct iommufd_object *obj; > + > + obj = kzalloc(size, GFP_KERNEL_ACCOUNT); > + if (!obj) > + return ERR_PTR(-ENOMEM); > + > + /* Starts out bias'd by 1 until it is removed from the xarray */ > + refcount_set(&obj->shortterm_users, 1); > + refcount_set(&obj->users, 1); > + > + /* > + * The allocation of an obj->id needs an ictx, so it has to be done > + * after this ___iommufd_object_alloc() callback. > + */ > + > + return obj; > +} It is probably cleaner to just make the existing allocation work with a NULL ictx for this case? Then we can use the existing alloc functions. > +#define viommu_struct_alloc(name) \ > + struct iommufd_##name *_iommufd_##name##_alloc(size_t size) \ > + { \ > + struct iommufd_object *obj; \ > + if (WARN_ON(size < sizeof(struct iommufd_##name))) \ > + return NULL; \ Then here you'd just use the exisint container_of based flow with the driver sub struct name passed as the 'obj' Jason _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel