Received: by 2002:a05:6500:2018:b0:1fb:9675:f89d with SMTP id t24csp107063lqh; Thu, 30 May 2024 15:59:37 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCX38Yxa9zwngPcDA7bd6aelqvNdVITJ2rjMfo8S94Q7DUFosrv6RnnDaORMxXes5C0qxOqurb5k0lQGEozp8Zo/rUBepolzlX90a0t/mw== X-Google-Smtp-Source: AGHT+IG8CXuaY0OpjZWMIiK/T9U0db1dul+3vW70mf1oHDqGzPEym8/Vro9WlIThjaro1swogddN X-Received: by 2002:a25:ab87:0:b0:dfa:6c83:81d7 with SMTP id 3f1490d57ef6-dfa73c48e0emr258916276.38.1717109977496; Thu, 30 May 2024 15:59:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717109977; cv=pass; d=google.com; s=arc-20160816; b=Y50kRsEQ9lMdbl6FM7Pew/DXijVTHHWyNCbhTMk5tQjyI1oFyT/umNI7YXA4BNUUBB owe8aaoilhj0FZg6E4M8t4QOsWWIun2qreZOIlyEwYUCbTg/YvF/jl0ZmmYl4wqH/fwF /Jj0YNXZmgkwU+KGMNTB6/S6ekWNXH8Lby3p9A1l1ko+14OzoIX9maxuX6VSbFU90bDS 9m4mDq5sWSp7QOzlMpiVIl8fWTx43C69dRnkIBJBwpeDOgSs42yywh8DuQwd0cW3TMWa k7+9E1kOGh8lKYIdbhyuN4IwXldZdS3V+wtiwqAL2UzmAYASrVzdVnKmo8VH3+NZxYQh j5JQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:references:message-id:in-reply-to:subject:cc:to:from :date; bh=5XBrPcks1NG38+/w+Eut09bK/fkwH4cJcmsgSCYzZmI=; fh=P2j1Jdod4hu66N1YxlUQSANCzTyVzmdtI81G2F/ZR6s=; b=Yc2rgymophw2RQzmbIsx1zHh6Ki45Siz7RRgsO8b6yn7UOA98smsmkUEtp1Kq4XMR1 k2D2UoqnjdHGkHy1j3TPCp+JnRKTXhcQU8bocnOLWSo+YMh+BpT677rG1e4Guycii5m8 WtqyZadEi6Sz2R0I9lKe8yvMJu5GYFoFo/wVBs9uIuxlwU1ICjPBo28lHOMrTQVPuVni DNmoQQOMuJhJOUufSOG+za7HDRf1IAZJVxsKE6nhl2WZQxUdYqDaGw69sZZhS1ODoMIh 8olbvt3ywSZd+yuuRu4aW3dekPnY6rwt2luDx7l/bBrm9/YLESFgxacVBGwc5eyNnFcR 8v1w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel+bounces-195995-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-195995-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id af79cd13be357-794f2f04fefsi73918985a.15.2024.05.30.15.59.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 May 2024 15:59:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-195995-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel+bounces-195995-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-195995-linux.lists.archive=gmail.com@vger.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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 2F4211C22CF9 for ; Thu, 30 May 2024 22:59:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B855E18398A; Thu, 30 May 2024 22:59:31 +0000 (UTC) Received: from angie.orcam.me.uk (angie.orcam.me.uk [78.133.224.34]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C9B7B17545; Thu, 30 May 2024 22:59:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=78.133.224.34 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717109971; cv=none; b=q9QUPeN2tCuETHJLNrtzJVk+MoU0QF6GaKcA8raFDrpPBZ08UfTa4sR0FRnB3yPohzGhjHGJQ0EDpz6Axfhwp3JPulqhNmdZbubmT7LqtzMJMz/6vmxUEn7mWxd4z/rbJ7GRrzc9ovIanJGi73AoY+xTRE5ye5KLP6Hc3sc9mP0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717109971; c=relaxed/simple; bh=m7Sq2rAhdxuGD38L5CCDAZsnrG/N2vhzCA1ZriqAONs=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References: MIME-Version:Content-Type; b=PPy0jECMR8JON59tWa4NZas1KLU8+xi5huvTk/11hRsGmvBI9Qn4hzzG265EvsABCuOzU2JsGnIQUbdYdpUuosJs6nEWLu46kq6TK4diKCG/tMf4yw1jJH8ikvbjJtyLuz+R23rPMGkdgrj+Wm7528vTmfZejLxUOn3zvtXvG40= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=orcam.me.uk; spf=none smtp.mailfrom=orcam.me.uk; arc=none smtp.client-ip=78.133.224.34 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=orcam.me.uk Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=orcam.me.uk Received: by angie.orcam.me.uk (Postfix, from userid 500) id 20C1192009D; Fri, 31 May 2024 00:59:27 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by angie.orcam.me.uk (Postfix) with ESMTP id 1A8BD92009B; Thu, 30 May 2024 23:59:27 +0100 (BST) Date: Thu, 30 May 2024 23:59:27 +0100 (BST) From: "Maciej W. Rozycki" To: "Paul E. McKenney" 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 In-Reply-To: <5567ab2e-80af-4c5f-bebb-d979e8a34f49@paulmck-laptop> Message-ID: References: <20240503081125.67990-1-arnd@kernel.org> <272a909522f2790a30b9a8be73ab7145bf06d486.camel@physik.fu-berlin.de> <5567ab2e-80af-4c5f-bebb-d979e8a34f49@paulmck-laptop> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) 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 On Wed, 29 May 2024, Paul E. McKenney wrote: > > What I have been after actually is: can you point me at a piece of code > > in our tree that will cause an issue with a non-BWX Alpha as described in > > your scenario, so that I have a starting point? Mind that I'm completely > > new to RCU as I didn't have a need to research it before (though from a > > skim over Documentation/RCU/rcu.rst I understand what its objective is). > > See the uses of the fields of the current->rcu_read_unlock_special.b > anonymous structure for the example that led us here. And who knows how > many other pieces of the Linux kernel that assume that it is possible > to atomically store a single byte. Thanks, that helps. > Many of which use a normal C-language store, in which case there are > no accessors. This can be a problem even in the case where there are no > data races to either byte, because the need for the read-modify-write > sequence on older Alpha systems results in implicit data races at the > machine-word level. Ack. > > FWIW even if it was only me I think that depriving the already thin Alpha > > port developer base of any quantity of the remaining manpower, by dropping > > support for a subset of the hardware available, and then a subset that is > > not just as exotic as the original i386 became to the x86 platform at the > > time support for it was dropped, is only going to lead to further demise > > and eventual drop of the entire port. > > Yes, support has been dropped for some of the older x86 CPUs as well, > for example, Linux-kernel support for multiprocessor 80386 systems was > dropped a great many years ago, in part because those CPUs do not have > a cmpxchg instruction. So it is not like we are picking on Alpha. That's what I mentioned (and for the record i386 wasn't dropped for the lack of CMPXCHG, as we never supported i386 SMP, exceedingly rare, anyway, but for the lack of page-level write-protection in the kernel mode, which implied painful manual checks). At the time our support for the i386 was dropped its population outside embedded use was minuscule and certainly compared to non-i386 x86 Linux user base. And the supply of modern x86 systems was not an issue either. Conversely no new Alpha systems are made and I suspect the ratio between BWX and non-BWX Alpha Linux users is not as high as between post-i386 x86 and original i386 Linux users at the time of the drop. > > And I think it would be good if we kept the port, just as we keep other > > ports of historical significance only, for educational reasons if nothing > > else, such as to let people understand based on an actual example, once > > mainstream, the implications of weakly ordered memory systems. > > I don't know of any remaining issues with the newer Alpha systems that do > support single-byte and double-byte load and store instructions, and so > I am not aware of any reason for dropping Linux-kernel support for them. Well, the lack of developers to maintain the port would be the reason I refer to. If you let developers drop by preventing them from using their hardware to work on the port, then eventually we'll have none. Anyway it seems like an issue to be sorted in the compiler, transparently to RCU, so it shouldn't be a reason to drop support for non-BWX Alpha CPUs anymore. See my reply to Linus in this thread. Thank you for your input, always appreciated. Maciej