Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4005600pxv; Tue, 13 Jul 2021 08:41:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwnhoNF7NCBOG74IwjZcm5YBO+VtGhGA5zqbUncAWdIwPhx3Smj5zbOReU5xf5zluS9rbnA X-Received: by 2002:a92:3209:: with SMTP id z9mr3382633ile.115.1626190893784; Tue, 13 Jul 2021 08:41:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626190893; cv=none; d=google.com; s=arc-20160816; b=Rfmw81pcrgLOcIir1Y3z5QsrHbGxu3B7H0z2/Gf+tWpxuo4OnzsveJBidM+bT48+Ue S+oUXzNbHPhVLkm7aghasm7rOj1mg4JyrDkDowcjCJl/0fhZuh9WBfpFCe91KmJtj7Xg glf0ypqVk7qu1jOGfk+x2ydIZ2dmXs88a3uWcUtLLfXpWuNZnGQdulae5IDHCrygrm4p ifSXrq4fCzQwEoLoYZXxligO7zWXOugftZSixme9KUJnYijv3nz2NjM8DfL45CIrnHOh J0NuAQkdqTUHBIk2c5Ny91idJGlPV0+Y9ufvl+IyWYIwm/5WSo1vf4iVGsjh5LNhD6Je wJlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:references:in-reply-to :subject:cc:to:from:message-id:date; bh=EXJOghM9KZVmBN6vHNCQWu0Cy7swDD7NLqHh9/Z2EPk=; b=kR5MwtbAXumHmTpjeDCD6pNQ4OFMr7jzZYnJrGIGhi7rm1ywvSHd/8/epC95IetTYw YJyLF3SPXA+rrSvdkp1cRss9PLD/Gr/FSiQknFqqhnLwWfOzcrpyd3L3RIsilraF5dWA pYP5BhVrbwYQaQ7V4Nv1+UBJnGIeEGdmo8Z7SFVplT8fVLND3o4gMxHMuH02wwYCBjWe /BCeChuz/NwmecoZqXwPCxZOcEGi31uPLEVM8eyxflbY350q6erOWVbfLNfzJ/Gv6Vo/ lGPes/g7PXivGMGwJJS/f2xPyFPh8Su6BtoZZz02VX7bHfiSZ1otftyoyHranb+ZdRXR 9DfQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s16si16440044jan.83.2021.07.13.08.41.21; Tue, 13 Jul 2021 08:41:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237111AbhGMPlu (ORCPT + 99 others); Tue, 13 Jul 2021 11:41:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:41304 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236932AbhGMPlt (ORCPT ); Tue, 13 Jul 2021 11:41:49 -0400 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 62D12610A6; Tue, 13 Jul 2021 15:38:59 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1m3KUr-00D6yp-7k; Tue, 13 Jul 2021 16:38:57 +0100 Date: Tue, 13 Jul 2021 16:38:56 +0100 Message-ID: <87o8b66x67.wl-maz@kernel.org> From: Marc Zyngier To: Bharat Bhushan Cc: Mark Rutland , "catalin.marinas@arm.com" , "will@kernel.org" , "daniel.lezcano@linaro.org" , "konrad.dybcio@somainline.org" , "saiprakash.ranjan@codeaurora.org" , "robh@kernel.org" , "marcan@marcan.st" , "suzuki.poulose@arm.com" , "broonie@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Linu Cherian , Sunil Kovvuri Goutham Subject: Re: [EXT] Re: [PATCH] clocksource: Add Marvell Errata-38627 workaround In-Reply-To: References: <20210705060843.3150-1-bbhushan2@marvell.com> <20210705090753.GD38629@C02TD0UTHF1T.local> <20210708114157.GC24650@C02TD0UTHF1T.local> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: bbhushan2@marvell.com, mark.rutland@arm.com, catalin.marinas@arm.com, will@kernel.org, daniel.lezcano@linaro.org, konrad.dybcio@somainline.org, saiprakash.ranjan@codeaurora.org, robh@kernel.org, marcan@marcan.st, suzuki.poulose@arm.com, broonie@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, lcherian@marvell.com, sgoutham@marvell.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Bharat, On Tue, 13 Jul 2021 03:40:22 +0100, Bharat Bhushan wrote: > > Hi Mark, > > -----Original Message----- > From: Mark Rutland [...] > > From your description so far, this doesn't sound like it is > > specific to the timer interrupt. Is it possible for a different > > interrupt to trigger this, e.g: > > > > * Can the same happen with another PPI, e.g. the PMU interrupt if that > > gets de-asserted, or there's a race with DAIF.I? > > > > * Can the same happen with an SGI, e.g. if one CPU asserts then > > de-asserts an SGI targetting another CPU, or there's a race with > > DAIF.I? > > > > * Can the same happen with an SPI, e.g. if a device asserts then > > de-asserts its IRQ line, or there's a race with DAIF.I? > > No issue with edge triggered, but this can happen with any level > sensitive interrupt. So let's say CPU0 is targeted by a level-triggered SPI, and right when the interrupt is reaching the CPU interface, CPU1 disables this interrupt, which gets recalled, and CPU0 never takes the interrupt. Bug hits again. Drivers do that. I actually suspect that an edge-triggered interrupt would result in the same issue, unless your GIC implementation isn't able to perform a recall on edge interrupts. I don't understand why you are only considering the timer here. Any interrupt can trigger this, and if there is going to be a workaround, it will need to be robust against all interrupts being retired, no matter what device triggers it. And given that the OoO nature of the machine leaks non architectural state, potentially belonging to a different security context, this isn't something that should be taken lightly. M. -- Without deviation from the norm, progress is not possible.