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 61235C43217 for ; Tue, 21 Dec 2021 20:47:22 +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:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=augvbAh5SesuQFKVy0gkes6kCujvzVcGMR6rCJWZOnU=; b=NEfsDZMLWIRAUT VN+GjdzFcxXseEs7BaeRXsuQKh/vTwIFuCvjkQxT3lt2K2xnBpNZBePLyAOiknMslp2rPZ9M7a2zW 1F5viw6dG6a81aqj8IHE4ExijiS0B9cUxiVoM3UcUMVy+buIu3sTVMdkDihrD23KTwAp+jgiSmoww AdwVHOVs+D20t4IBF+oOGN8FBvyI6fd1vYpHLgqVnFEIS/DwLhTAYUR0TO54XJqbQpKlEI4nf1KHF VdEfuRF9a9khMXBxjitH1gYuKU5opwrdeyjipyqUOGgkx6AKe/jSkZq0eRA9umhY9azMmmSpIIoOa 63J+qXHZlVj6O5ox0hNw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mzm1G-008SCh-9g; Tue, 21 Dec 2021 20:45:58 +0000 Received: from mail-dm6nam11on20726.outbound.protection.outlook.com ([2a01:111:f400:7eaa::726] helo=NAM11-DM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mzm1D-008SBQ-8o for linux-arm-kernel@lists.infradead.org; Tue, 21 Dec 2021 20:45:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k0mA/cmJlpCWuAuyZRrfIPPGmtFn1/kDkY7NOlqmC1V0Mhy/T949fiTRtQEBNWd03nIlsgbeCK7Vqm/OuEjKZTFZh0LXvtLIYB+N21rwT992iZY4igEPKIdzSDFaXsEaT+ouc3W8dHjSRFNnHnmzfz/XK/yDrgWYeqtE+gvkp3IxVIU4e8sT4wRp6y4wZY1LAYb2B8OfTOx7N9IJHfJZw8uFXy+lxSFXPwrMzkB81QBot9RKbjdi9ia79zrJB9pgjlL0SxVY1+CA/eVQcM5ExYjdHwBTom+M5SFh8qL/g+ERYajFXdPkDforksHMwNGKidf+Rode0iGkO4TZkND16Q== 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=5+k9JCNAjVY55ISHcvpVsD9f2Cxuo2bG7sPi9dsYuNw=; b=Vy6ZS2xa9rnJdKQnGDCc/xyoV8TkSqkX6w+WgMMrN/X/qfFvfouly2VOlQYEWisG0AeY96xGz38PhM7Qz64QU++o9zHuiT0EQb4ujVvzgFdNm7R/Xfls50BKVbZ/clVVGgLy/vwduRLPsLpmYhfBRRsZLGcWjGAv9dun0UbruTV7AlJKjAI5EfCqYDEyApAu/oIr8vf7+YTpXqVm9cdrkYHxbjw9aXgZtvWPZuZtksm8q29eAa6McyeGE4PreB0HhgGYQQ6ZKMQxZVJ4LmGjn2u9lkaaBXXR2lifLImhLWyg3Cn8McJicylqCn093CldaI47EzXfEEYqtqlik6t1WA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5+k9JCNAjVY55ISHcvpVsD9f2Cxuo2bG7sPi9dsYuNw=; b=KVbowrdZBBUgYeLnWcCtgPIs8c6Fm/unuFvHiS9txDC5xr5m8F8OyfwryCYK6hKXghoX4WyMSsiwmeYdTxXnTzLyX9UCJk5tdw9ZAxcRGynyTEPeBvh1105HZcDzfD2Xyly+4iydvd4O0QfCVdhZaqmTwv8DZcdcdmHn8KSiJs8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from MWHPR0101MB2893.prod.exchangelabs.com (2603:10b6:301:33::25) by MWHPR01MB2656.prod.exchangelabs.com (2603:10b6:300:f2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.20; Tue, 21 Dec 2021 20:45:49 +0000 Received: from MWHPR0101MB2893.prod.exchangelabs.com ([fe80::526:8374:e93f:3648]) by MWHPR0101MB2893.prod.exchangelabs.com ([fe80::526:8374:e93f:3648%4]) with mapi id 15.20.4801.020; Tue, 21 Dec 2021 20:45:49 +0000 From: D Scott Phillips To: Catalin Marinas Cc: linux-arm-kernel@lists.infradead.org, Marc Zyngier , Will Deacon , Darren Hart , patches@amperecomputing.com Subject: Re: [PATCH v5] arm64: errata: Fix exec handling in erratum 1418040 workaround In-Reply-To: References: <20211220234114.3926-1-scott@os.amperecomputing.com> Date: Tue, 21 Dec 2021 12:10:08 -0800 Message-ID: <86zgotg1nj.fsf@scott-ph-mail.amperecomputing.com> X-ClientProxiedBy: CH2PR05CA0008.namprd05.prod.outlook.com (2603:10b6:610::21) To MWHPR0101MB2893.prod.exchangelabs.com (2603:10b6:301:33::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 71f87526-c832-428f-cc0e-08d9c4c2decb X-MS-TrafficTypeDiagnostic: MWHPR01MB2656:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6GQkcOOsFfXsO+687QIWeUNsM1uCoY052Tv8FYIUYZkd/Pe5bHf6K3/cx/xt362en3SbcNRbGCIGO9RJm3CSkVUMKqGzZf0wVK8e6bPK1ZMKILPppv5mrO9WkYYUpXs3aUTFiRboLgI2x0Plo460oXkw76VK2TtmKlYkVNWQS0YZfr2OZR4PC7sHmBCPM7mkF0GktfI+OxikL4SbP9Mb2wO6HFL6+6v05tIizeXRuEKpCxOhUdZwzSHH/CuF/eGV4A/M4rWJsYthCCjeGKLwToFMBl07srL+wQxTjzATWlx1ZAVOwUw+2dVU7zdJYC0uXKOy0iydZ8ywDMMqkwJOik9BDxRpy3JTEp/1gM1V8DcvtLaYY7exXW9VtvvUAweUv7+1EhUZliTEYKQlbHDcBnI0LpmmsWY2uO+Y0ufYtoZKcX/LgXNbLdjdPT7nZMpxjZwq+xnenUHGcOBvqnMbIglng0GOBXJ4OaYMN6sQekgvU557gXiCho1wH+MtoxFBxUAeBmTwcBB7axOiEq0Ss/uU+orxZ/zMUq2z5CPxoiX0efQ/paAXVct9JEPcMF55AFqkmoJU0kx3jxPOT6rhYBcU2DCLSH9EGrOz/k9thLdLV1EFB4YphKgkhOWmCiNW978SLd4fqNCvxiW66D3NiFwv5GGSsMtAwUz7oeJGEjNXnSeAfZ9yIW4v1fOUecyEESxIZGlPjJX+FhabgKsFSw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR0101MB2893.prod.exchangelabs.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(6512007)(508600001)(6486002)(9686003)(5660300002)(54906003)(186003)(8936002)(86362001)(6666004)(26005)(6506007)(8676002)(316002)(83380400001)(107886003)(52116002)(38350700002)(38100700002)(66946007)(66556008)(66476007)(6916009)(2906002)(4326008); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LVaJNu70Mao62Ahf+zvlm6UPr3NVpPZxvm92jv5cVnp+Mzc2tN3hBnlfMI/n?= =?us-ascii?Q?FdwSuyrxJeR2VvT0W/ovyuIAlFqBrG/w0lVrFYDraHV37vrYI7F1YCSJSJCl?= =?us-ascii?Q?8GyoiBqEm6QVXz6Q2PfqWNShcNneTE85g64VuBQC1x7OcPCdrHHx1hiLzgLk?= =?us-ascii?Q?VD2srOmglACYvT6nFOulnXgR+b8k5STiInN4eNN6DEE7fvPHlFIACLo81Fpr?= =?us-ascii?Q?l2GbGYm8Tu1x20mx7d02cPjDVjjyqTU0VBMCER1eJ/18a/ChpqxRr2ddmzWX?= =?us-ascii?Q?epC5AP6YECajhpMbDpWQj5WWX+nLooRxC99cvFqQeS6AaYXWRtI7Iofak1AZ?= =?us-ascii?Q?yAfklxzBahJf6hwVyPys/g2NCvYo5PYCkf96jEnP4PN8dyfi+2KDwaBqF1E7?= =?us-ascii?Q?WbXul+YPjWMoFRb0ICawXlXP40wyaUvy7yabUjo1njXmHdrX3uIzGPGM7Us8?= =?us-ascii?Q?cIukg0D6Iak/buoSZ+vKZSov1k3zfMiIRJZNhhGH9TB9XlVRez9hrAWRlJow?= =?us-ascii?Q?JvlZ/2gRbGEBaH1yTrpCZG36JRd/KhuZJqAXda6E3gmI9bt8cVa3v5eOImdi?= =?us-ascii?Q?uq/S7hREF1uSQXJ9qpuAilWYr1FWd02nBb5kD2e7uGwZhBHyw1TLB2YK7cQ2?= =?us-ascii?Q?JScgyywpicEGqgafmpggP7EHJTUtQ4xD9YNCLxFiPly1J5VFS/V0UjP+Wcoq?= =?us-ascii?Q?oqgzIeGuHiMG2E+roUhJpsJ7vTR13uYvYIkitP5C8RJGuUMMRsm/khK9DZa4?= =?us-ascii?Q?TqtFKbyCpcwUqeFGEB21c2kgmBhnXsZ3/DtPOP4PlDeKJaSTpZyt5fLHU5M6?= =?us-ascii?Q?lt3QVgUuxwxPNzMMsqcf3esJGnTCKXM2+S7QVRgW8lJ5L7CKM8Jyv5gHL6xc?= =?us-ascii?Q?TtFuHCAR4mE/o4dh3VJdZ5LfmrmJCcKoOkX5SxjhvUMqpgmoXn5t6A/K2fPN?= =?us-ascii?Q?97tTdhnGEwSGl1Y14GvzTHFCKYX6MjA0f+/e4TXNw3p17StP4esWLnhpFI7O?= =?us-ascii?Q?Wy9DUv7unMiT7YwPkdJNMiW9LblxK3hZL8V4txvXc9IcrBlaz0upcAE4wefU?= =?us-ascii?Q?+dKpC+WV1v7Y4AGMO/grwmTZRvMr1wDU30gEvFOYGgV6d7sG+/w2caNc/kHR?= =?us-ascii?Q?u5ltsDTxKQupPug/L5Evos5Ohl9QrR4MqyRtvdYbbB70dOocSQLGdQLxVayk?= =?us-ascii?Q?XxhU6RciDyzaWS0qGwarMCMVuX1gOx35yDA+hwr3Y2rMwQDICz4+cVHOtnI4?= =?us-ascii?Q?KitEQy0lm/LEAMhS/ALXSEf19rS6W98Gpq77fmlCG1mpZ9dz0xG93dmdWf0R?= =?us-ascii?Q?eilB4WOd2P9NExi726uRTRGVnFT2WjF1+jtonyIPFU/ImxHs6U4inpJDs1zm?= =?us-ascii?Q?Wnp2xMLQWeU4JHXO6uow2x9qZVVszYerorxuFTJvKd99kchAeN5Itgtc43vu?= =?us-ascii?Q?Tk5nwuOORvVLy22nTpz4Ah8nSX4bV+4FoiMZLHUzN98cSHXGJ7ppUNgJQRu3?= =?us-ascii?Q?DQA67RBcn7kqEN8mKmW1T1IcUXtFx3asrHgjA01GIvkU/NP6LXMqJ6W7kRC6?= =?us-ascii?Q?RRdVmmuLN+F5CWKEIf0aj3E2/Rrhcs/hStrCqyBHXLBSX8KaqFfMLjVs2YjJ?= =?us-ascii?Q?NUyWJEeoSHDdkQ+hYAS/f/lrGWu05xse8WGoBuWkBnOI4w7gazRCxxuXLcbN?= =?us-ascii?Q?q49N0sbfMut5c5KpLCXVa2l4klYv8uaUn6s9/T5kgtOW1dbKM91eUDoSOYKz?= =?us-ascii?Q?6g40UjZ9ng=3D=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 71f87526-c832-428f-cc0e-08d9c4c2decb X-MS-Exchange-CrossTenant-AuthSource: MWHPR0101MB2893.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2021 20:45:49.5076 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: imlQEU3J0kDXi/EBg7CaBAt9d6CrxlHWeuNcaq2lPF/ywDktpjo8KM6H/nmDWb/laJkLlYx9Lu0gniojK9GJaUrqA2Xfpllz8u7KD42h4Cw+nd3NGIVW4tpP4WEgdFEI X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR01MB2656 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211221_124555_438157_EDDB21E8 X-CRM114-Status: GOOD ( 13.94 ) 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 Catalin Marinas writes: > On Mon, Dec 20, 2021 at 03:41:14PM -0800, D Scott Phillips wrote: >> The erratum 1418040 workaround enables CNTVCT_EL1 access trapping in EL0 >> when executing compat threads. The workaround is applied when switching >> between tasks, but the need for the workaround could also change at an >> exec(), when a non-compat task execs a compat binary or vice versa. Apply >> the workaround in arch_setup_new_exec(). >> >> This leaves a small window of time between SET_PERSONALITY and >> arch_setup_new_exec where preemption could occur and confuse the old >> workaround logic that compares TIF_32BIT between prev and next. Instead, we >> can just read cntkctl to make sure it's in the state that the next task >> needs. I measured cntkctl read time to be about the same as a mov from a >> general-purpose register on N1. Update the workaround logic to examine the >> current value of cntkctl instead of the previous task's compat state. > > The patch looks fine to me but I was wondering what the cost of writing > CNTKCTL_EL1 is, compared to a read. If it turns out to be negligible, we > can simplify this patch further ;). I measured it at something like 20-30x the time of a read, though that was in a tight loop of writing, so maybe the cost could be hidden some by out-of-order execution. Are you thinking of moving the erratum workaround back to the exit to user path? > -- > Catalin _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel