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 CDEC5C4345F for ; Wed, 17 Apr 2024 16:13:55 +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:In-Reply-To:MIME-Version: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=myaY5SYkMqjWhRhV0wxO1S73M+FbGp3cSxmtzxdPjR8=; b=1LATwOUlVxMhjO r1DN1JXyEN8Y5Y6/ZDmLABmiDR2R70K2nvqfymxME3tA+PkhsVbbCLRPbTFjW9vGNBLi5z5G2/+KK Apa5pzj4wcXkeMCdcpxuaBztgVl39l0YCAATXdPuk5QqIn47DOfc7GkFsWdihAIngbrTxeReOn6xV T82wDn1H+KUNHA/X/UenmK8lHtCMc7jaHyZTILnSrs9UQd972HIqis4GrmdkRYQKr5rCrgV6wbbGl NQuhlfKJi/4veka9OFmQJNVdXBk0O03xUXQrDZcF7Jw+KfPcNe7EvSFn4VcrfHTfuGY3vkVbTeEC4 mo9Nk1P8VFQlpR67MiKQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rx7uq-0000000GlUs-0cBx; Wed, 17 Apr 2024 16:13:44 +0000 Received: from mail-dm6nam04on20601.outbound.protection.outlook.com ([2a01:111:f403:2409::601] helo=NAM04-DM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rx7um-0000000GlU2-3LSi for linux-arm-kernel@lists.infradead.org; Wed, 17 Apr 2024 16:13:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jqE8ezAv7YsFeoeD9GwKzXUupLidwJW6GNi9GgFOZhQgk1WIvzHWr9lBe1EjtperPT1KWdN/dK0aEDxxhfrComUAcTvl7bu5AQpDiTDCTrckDjMVreQBXGq8g2yt00chTRoj9Sd0Od1Ctop0O6syQIp6jE41JJhPxt4bpNLNuQEflo9tWQsOHf5Qvlr06EYjEy1OModmGg2WdsC+U5J+7xXiX7bVppt/sT0FokFO579dLR+6oSfQW18bJuDM28uBjYF/pF9Rd215ss3dj+3GBdtqLl6GLndQfugQJNgCbH7gL8sQ6XxmzpN57GxusGEEY3UuSglZMiZCjGQgevfOTA== 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=St/uvuWkDdnGfEVKIptWtYT1Gq1F4i9FPERF2mT54YM=; b=XHUGVyaMXsLBcIjY6eeyQGCpJ/HXdb2SdhJFSJM2sYhqTsLYWI6ZAjz8a49fxrIti1NWFFOWlRd6yDu15wq/e04FsiSwqDTwUwAndAXsljzruBKgH8L/bsimfFDeyCBs92tXuByDZ78InMVLui7MvdRh3UAoCEN0EN69TuJLvEwEqfq7Gby2lbzSBHfeHdk6CpDXUbiUwrW2pnYjG9N+QSL6U7CGrp2vbCnrXwGsUdIlO+4OdK5FXv41m5f9/AHGmwbc3H3MU6MDQ+7t8KrAljahzqzDLtMckC4860iAKkwk51LZdrFLMvQ4sVH9p8esRHVkqWndutMLdr9fUKkVGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=google.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=St/uvuWkDdnGfEVKIptWtYT1Gq1F4i9FPERF2mT54YM=; b=pbc0zjH8RnWgAk0CI0k1CyFD/EQfoC4dJMyN8LsTv73PwX3Y9RPqvfEP1L378b109i5+bX4jI8rhBYzlvWmtmlQxto2ag9xc+0UzTfDIc5sERYAYxiOiw3iDOImDMpeAVErWV7eSn++4Sc+U7S6nTDy81i83lBsVI5Cw9weSwFAe6JAq3TsoldfRGc4A73s0TFP6zr4Elhb6C/e18zuNAHIYkkFq453h9XDlDByNofz+gBwvmW/UaFFuMyhTSY46+kRFmmjOSKCNjF/MmTEYJGy7cGyLwiagJVa7/dPnlgx+/qFXYaNtDk0IrZkRlZYdAfSsU2EAi8gP3qPVjtSxjA== Received: from BYAPR21CA0028.namprd21.prod.outlook.com (2603:10b6:a03:114::38) by SN7PR12MB6692.namprd12.prod.outlook.com (2603:10b6:806:270::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Wed, 17 Apr 2024 16:13:32 +0000 Received: from MWH0EPF000989E7.namprd02.prod.outlook.com (2603:10b6:a03:114:cafe::35) by BYAPR21CA0028.outlook.office365.com (2603:10b6:a03:114::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.11 via Frontend Transport; Wed, 17 Apr 2024 16:13:32 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by MWH0EPF000989E7.mail.protection.outlook.com (10.167.241.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.22 via Frontend Transport; Wed, 17 Apr 2024 16:13:32 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 17 Apr 2024 09:13:14 -0700 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 17 Apr 2024 09:13:13 -0700 Received: from Asurada-Nvidia (10.127.8.10) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend Transport; Wed, 17 Apr 2024 09:13:13 -0700 Date: Wed, 17 Apr 2024 09:13:11 -0700 From: Nicolin Chen To: Jason Gunthorpe CC: Michael Shavit , , Joerg Roedel , , Robin Murphy , Will Deacon , Eric Auger , Moritz Fischer , Moritz Fischer , , Shameerali Kolothum Thodi , Mostafa Saleh Subject: Re: [PATCH v7 9/9] iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry Message-ID: References: <0-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> <9-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> <20240417141618.GS3637727@nvidia.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240417141618.GS3637727@nvidia.com> X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E7:EE_|SN7PR12MB6692:EE_ X-MS-Office365-Filtering-Correlation-Id: cc1699bc-ff7f-4331-829c-08dc5ef953a4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ezAvgT6nrn5Nng6UvBfqw9YYHB4frF1J8L277ulpmPauvJTDgD5JSao+QQbsV8sArbTDDc+QciROiYEDgUEf+s0oL4SEnckpeiM1qtsC7JutFsb+IAFQp5RQCmAMupoMM+5uc/AvjJY9QpZa5Pao+OS3eXZl9dghmFENpkDK2uKnMeqPTfcsprS2QuldNIUpBqa3L6fDLQkHD8BRsq7z0r4z7n+evZjXt61PqgouRuFHiBCPADO+mdFSeGS3fZn7eENcO5kI8yIbJoAApG1v6BSe0bqH2zgVUbwMIWkh0FV5WK20ayY4zXL+8owolYvJnCWGF624lo2vJ0VMjTDVSWUZmm5XYTKeFhxqc+a9ljGotHWLeQ102M0Z79HQChc6yfQdtlnREwd0ft6F5amnXzKATuTorgkeWrWDQjycdgc+UoGAuZVXKF2q2njdHWk/E+XcY/xwwarhlUbwRCzn+S1hAR6WJrwH/tTTy13lcR/2DEtI6O7+l24MRVcD31F/i19F8FXN6PnfrOlIFJ+xen175IMUN979QackRVhffHJUkX1adOyrIqR61qVA8eRs9ncqYmwp4RY+INWcYJFywdpbDhp2j4I/zu4HaZHheNGSu1AorsBj4LGL30oRUZc2zhtchJBzlwAu+WC4iAdGqkqerojw1I7/9MYfrqiCxG97TWSDYpyRoiWN8Q69ryeRACZ17yLwNEqu+VKJQoNSO9XjrvsRHjMJTwDq0JMFu6jtoL/MF2we+GUAxVTbqRT1 X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230031)(36860700004)(7416005)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 16:13:32.1831 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cc1699bc-ff7f-4331-829c-08dc5ef953a4 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000989E7.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6692 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240417_091340_864446_69D12AD1 X-CRM114-Status: GOOD ( 28.25 ) 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 Wed, Apr 17, 2024 at 11:16:18AM -0300, Jason Gunthorpe wrote: > On Wed, Apr 17, 2024 at 01:09:40AM -0700, Nicolin Chen wrote: > > On Tue, Apr 16, 2024 at 04:28:20PM -0300, Jason Gunthorpe wrote: > > > Add tests for some of the more common STE update operations that we expect > > > to see, as well as some artificial STE updates to test the edges of > > > arm_smmu_write_entry. These also serve as a record of which common > > > operation is expected to be hitless, and how many syncs they require. > > > > > > arm_smmu_write_entry implements a generic algorithm that updates an STE/CD > > > to any other abritrary STE/CD configuration. The update requires a > > > sequence of write+sync operations with some invariants that must be held > > > true after each sync. arm_smmu_write_entry lends itself well to > > > unit-testing since the function's interaction with the STE/CD is already > > > abstracted by input callbacks that we can hook to introspect into the > > > sequence of operations. We can use these hooks to guarantee that > > > invariants are held throughout the entire update operation. > > > > > > Link: https://lore.kernel.org/r/20240106083617.1173871-3-mshavit@google.com > > > Signed-off-by: Michael Shavit > > > Signed-off-by: Jason Gunthorpe > > > --- > > > drivers/iommu/Kconfig | 12 +- > > > drivers/iommu/arm/arm-smmu-v3/Makefile | 2 + > > > .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 6 +- > > > .../iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c | 467 ++++++++++++++++++ > > > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 36 +- > > > drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 30 ++ > > > > > +config ARM_SMMU_V3_KUNIT_TEST > > > + tristate "KUnit tests for arm-smmu-v3 driver" if !KUNIT_ALL_TESTS > > > + depends on KUNIT > > > + default KUNIT_ALL_TESTS > > > + help > > > + Enable this option to unit-test arm-smmu-v3 driver functions. > > > + > > > + If unsure, say N. > > > > Forgot that my SVA sanity doesn't cover this patch. And it looks > > like some problems here when building it with "=m": > > > > ERROR: modpost: missing MODULE_LICENSE() in drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.o > > ERROR: modpost: "arm_smmu_make_cdtable_ste" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined! > > ERROR: modpost: "arm_smmu_make_bypass_ste" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined! > > ERROR: modpost: "arm_smmu_make_abort_ste" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined! > > ERROR: modpost: "arm_smmu_make_s2_domain_ste" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined! > > ERROR: modpost: "arm_smmu_get_ste_used" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined! > > ERROR: modpost: "arm_smmu_write_entry" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined! > > > > Likely needs MODULE_LICENSE and some EXPORT_SYMBOLs. > > Oh! The kbuild never tested this kconfig combination... > > I think just this? Michael? Verified with the following change. Thanks Nicolin > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig > index d03c729c4142dc..7b6a4e244e99cf 100644 > --- a/drivers/iommu/Kconfig > +++ b/drivers/iommu/Kconfig > @@ -411,7 +411,7 @@ config ARM_SMMU_V3_SVA > and PRI. > > config ARM_SMMU_V3_KUNIT_TEST > - tristate "KUnit tests for arm-smmu-v3 driver" if !KUNIT_ALL_TESTS > + bool "KUnit tests for arm-smmu-v3 driver" if !KUNIT_ALL_TESTS > depends on KUNIT > default KUNIT_ALL_TESTS > help > diff --git a/drivers/iommu/arm/arm-smmu-v3/Makefile b/drivers/iommu/arm/arm-smmu-v3/Makefile > index 014a997753a8a2..0b97054b3929b7 100644 > --- a/drivers/iommu/arm/arm-smmu-v3/Makefile > +++ b/drivers/iommu/arm/arm-smmu-v3/Makefile > @@ -2,6 +2,5 @@ > obj-$(CONFIG_ARM_SMMU_V3) += arm_smmu_v3.o > arm_smmu_v3-objs-y += arm-smmu-v3.o > arm_smmu_v3-objs-$(CONFIG_ARM_SMMU_V3_SVA) += arm-smmu-v3-sva.o > +arm_smmu_v3-objs-$(CONFIG_ARM_SMMU_V3_KUNIT_TEST) += arm-smmu-v3-test.o > arm_smmu_v3-objs := $(arm_smmu_v3-objs-y) > - > -obj-$(CONFIG_ARM_SMMU_V3_KUNIT_TEST) += arm-smmu-v3-test.o > > > Jason _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel