Received: by 2002:a05:6500:1b8f:b0:1fa:5c73:8e2d with SMTP id df15csp15757lqb; Tue, 28 May 2024 07:43:40 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXIz/ONWKJ4pctgjLnIv83zuvMtsroe1hVnsT8J5vp8m11Zrif3z3cVxxHsaZE3ZxWBYoaSU/r6KW4Odkbes7hbOm21YtwfIDApaGja2Q== X-Google-Smtp-Source: AGHT+IEM+fG0BSmNrDA4Uil/Bq0nKPq/9ZbWfRvbuBg13+60ftkzVue5H6tlbuvg/Zc/lMg+SzU5 X-Received: by 2002:a17:903:608:b0:1f4:8faa:cd68 with SMTP id d9443c01a7336-1f48faad2cdmr53749835ad.29.1716907420660; Tue, 28 May 2024 07:43:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1716907420; cv=pass; d=google.com; s=arc-20160816; b=JcRq4l6Qj8NubHsLGfTzKh4fGyPQkfqn7KmqSPDZ/lrSCaJJR2yDYwem8bDipdYFA+ IU67u3Q+unXH7W+jQgwO9XhYZbR96HzVDXYhFtnK5sIBOH9M4nplJ05vQSPeP+iSx2wL wts9YQcLOlffugcxn5e1yjx7mCpyiPaF+sHLjwewjo5KpmmH9sPxnHuMs2tkQ5nAVBsR zkIabrtRgl1aRQg9SfUlwqX5/0ODrkPsRUuiS+bfrSmOTwAeqf4S5jxzzNZqGeeeecI0 RCYZfiWGFXTadSTxrdVSS+LhqN7FR/rHdJMEaWUtKnkySgAyOfcevQ9ia2KE9C8Ob5vL qLdg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:reply-to:message-id :subject:cc:to:from:date:dkim-signature; bh=AZjT1kWORDjnNpjm9sbnMjzwKwIe08EQ0PKie/LKxZo=; fh=PGtJEGTW6wgu5TsZ5JEhF7yKeVILA5g87FFxDz+8/I4=; b=bpfqS1bXl/vxeszZ5GyGxctgerDHQqXmnb4OEdcUk8G2ECFhAEwF2nMd0hM5PI5lKg zLYBVTxN3XgG4R5raJhYXVPG/NCPOnxRP906+KtvXdJwKGQyku75n8cxdW4xnotXfMo0 QYAxpOW4P0pFCqjnkgrzrC1a5k7J/yQeTbEYo0yuaAHNYTRp3ZFGAzg4+w6JE1ab+ijO x60DkizRBJq7bhTuvBu9/E2u53KmSzAvTy+/AdKavQynQ5KvcaJnOzkg2U400kxKsA/k 79aN7mfzFCwwr9oEB0PUS4ujrajhQhvMruS5r7TbrZcemr8bgFTBbrAgDOgnKRt28KIq 3Ecw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ML3Ccw8Q; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-192554-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-192554-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id d9443c01a7336-1f44c7c3810si80497435ad.184.2024.05.28.07.43.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 May 2024 07:43:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-192554-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ML3Ccw8Q; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-192554-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-192554-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 50571282F47 for ; Tue, 28 May 2024 14:43:40 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C6EBE16FF3C; Tue, 28 May 2024 14:43:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ML3Ccw8Q" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF23316F27E; Tue, 28 May 2024 14:43:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716907415; cv=none; b=OltXzjqPaiz5VDcXdK1tYeDdZlC+tPQdJXYNL/4+Tf/zQQsRVIOT3yG3DO2AFLFlELOghP37FqeArelgbSAHNNOZSzdy7JhV0kcZ1CUX8LXa/OzYhJ+7zjhyq9OAurBognOfQOQbewGoopLKLRh6C2sk2ueDjeTKipHrhbre0Is= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716907415; c=relaxed/simple; bh=rBOsmkJf6TERqc6dB5o9t0xQJxVujKORYddvFjHhnYs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=IxeuzN3BmZDNCTBu4rAqjpDC43gPAd1kx00Kn94qF3t4A/fA8nPHveMetHNXxy2pTF1xjKDzG5oQUuItdmghUpUTec/bi1FVCIDUAVCtsqZXcONaafCjxX8X+yD/7pRE2Y4qKAner863LuS6QLkaQ9XkFtYuM29gj5uXIG5pAXs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ML3Ccw8Q; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 62DB0C3277B; Tue, 28 May 2024 14:43:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1716907414; bh=rBOsmkJf6TERqc6dB5o9t0xQJxVujKORYddvFjHhnYs=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=ML3Ccw8QMmd+lYanHo+WyyIg5yFrlmTv+x/7gbkj89Iv8JVtcK3yioGRH9BucIBVK XGZL2KHMd6KYzcglnGr38vUH94fbffhqnfglhRuDBz7OUvxJc52lEOGw0s37fYbV65 i47YOSapHt4YpJF/YAbBgPz6YxC7tAB9ZW06+djHuNEHoewpfYXNMGqlYsGjMIwyGj U1CDHPtZGLgEQ6b/j+tL7QkuX3quBtBHHdcDyuXHZ843h2A9SfchfHLxvJHLxHQaUH XoFiio3McaEErz1QpeTPzZwzTp3fXfPbhGHhH3MdTL8dasL+0hnlwoKw0jhDGUVI7f p+EM93tNXsD5Q== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 0CF27CE0F8F; Tue, 28 May 2024 07:43:34 -0700 (PDT) Date: Tue, 28 May 2024 07:43:34 -0700 From: "Paul E. McKenney" To: "Maciej W. Rozycki" Cc: John Paul Adrian Glaubitz , Arnd Bergmann , linux-alpha@vger.kernel.org, Arnd Bergmann , Richard Henderson , Ivan Kokshaysky , Matt Turner , Alexander Viro , Marc Zyngier , Linus Torvalds , linux-kernel@vger.kernel.org, Michael Cree , Frank Scheiner Subject: Re: [PATCH 00/14] alpha: cleanups for 6.10 Message-ID: Reply-To: paulmck@kernel.org References: <20240503081125.67990-1-arnd@kernel.org> <272a909522f2790a30b9a8be73ab7145bf06d486.camel@physik.fu-berlin.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Tue, May 28, 2024 at 12:49:16AM +0100, Maciej W. Rozycki wrote: > On Fri, 3 May 2024, John Paul Adrian Glaubitz wrote: > > > > I had investigated dropping support for alpha EV5 and earlier a while > > > ago after noticing that this is the only supported CPU family > > > in the kernel without native byte access and that Debian has already > > > dropped support for this generation last year [1] after it turned > > > out to be broken. > > > > That's not quite correct. Support for older Alphas is not broken and > > always worked when I tested it. It's just that some people wanted to > > raise the baseline in order to improve code performance on newer machines > > with the hope to fix some minor issues we saw on Alpha here and there. > > I'm not quite happy to see pre-EV5 support go as EV45 is all the Alpha > hardware I have and it's only owing to issues with the firmware of my > console manager hardware that I haven't deployed it at my lab yet for > Linux and GNU toolchain verification. I'd rather I wasn't stuck with an > obsolete version of Linux. > > > > This topic came up again when Paul E. McKenney noticed that > > > parts of the RCU code already rely on byte access and do not > > > work on alpha EV5 reliably, so I refreshed my series now for > > > inclusion into the next merge window. > > > > Hrrrm? That sounds like like Paul ran tests on EV5, did he? > > What exactly is required to make it work? Whatever changes are needed to prevent the data corruption that can currently result in code generated by single-byte stores. For but one example, consider a pair of tasks (or one task and an interrupt handler in the CONFIG_SMP=n case) do a single-byte store to a pair of bytes in the same machine word. As I understand it, in code generated for older Alphas, both "stores" will load the word containing that byte, update their own byte, and store the updated word. If two such single-byte stores run concurrently, one or the other of those two stores will be lost, as in overwritten by the other. This is a bug, even in kernels built for single-CPU systems. And a rare bug at that, one that tends to disappear as you add debug code in an attempt to find it. So if you want to run current kernels on old Alphas, you will need to do something to fix this. There might well be other things in need of fixing, for but one example, it might be that the same issue will soon need to be addressed for two-byte stores. You will therefore need to carefully investigate this issue to determine the full extent of work required to solve it. Thanx, Paul