Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp13270800rwl; Wed, 4 Jan 2023 06:03:00 -0800 (PST) X-Google-Smtp-Source: AMrXdXv7sYTmbLpaXDvfEtg72wC/fJZEg8JDxTV4XbxIcKQVc7PP7dd4s5NTnzpedQKfdsVWC7jv X-Received: by 2002:a17:902:e5c6:b0:189:fb78:a7d4 with SMTP id u6-20020a170902e5c600b00189fb78a7d4mr69289867plf.21.1672840980140; Wed, 04 Jan 2023 06:03:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672840980; cv=none; d=google.com; s=arc-20160816; b=nlKqe9adqeGL7PNvVT5tBCpfTncsuIJligaYQAprKvKdKIonUoRSg8qBZJsNrhzKvP NQsZBiVwrmhOnfWHwQgmf+Hy9wJk5CUOogpNA/D7VBZrQahVpSg4B2rWJj97yJ3ZtL7B EY2uVxgio2WGM5R0G1MNQz/r+6PVxeagjw68rdAynO2UALQUx82Qz0aUL32otKuj9r/D +hqSimeDbgRREPi5zvd5DrRDsYAFoP4psOqobmNKqCFf7G7x8oUXamqVMyoVh5iUiSO9 niabRNvWE8pvU9d27rGvD5J2PG4BcJO45zHNuK+AqQ9tv4+CE9oetUFkpWs+C4R+6x3w X4sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=yIJljz8ugn36piMPjY+/7ytQilBpuL69ZxtaNd1+BBY=; b=o94g4aLnY97yRZbyE7eKW/ez3P6C+2qrW3JI31I5Wdb1flQqtcQX6EcyniKWKNQTlx QO4j48wTEQKb3Q/10Q3rkiSY2ShgzDPLFfL3XjtSq2pwyfOj1YaWe4r4LY6wuU4Kk5zY 9PbmR5JwsCKPb5+uZIAeHN0AmnjBJw/U65UJJmUd6n+tGBZYhPMXBIqoZzURI+AaeoEt Lds/FbSf0s99lAr0tKpy8d+Xkq0PuTrJE3TBL/RAPqbF5G0xSajPr/3WC+sIgP8+e1tT ipb0fgalp4BvRtnNF2L7Wb39OJPU+ncoJK6m8Mw+tTw6O66AhFKwQtMufE1M8SqW63yN EhdA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q22-20020a170902bd9600b001927f1d62d4si24417730pls.325.2023.01.04.06.02.38; Wed, 04 Jan 2023 06:03:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235091AbjADNzb (ORCPT + 99 others); Wed, 4 Jan 2023 08:55:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233373AbjADNza (ORCPT ); Wed, 4 Jan 2023 08:55:30 -0500 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 517007657; Wed, 4 Jan 2023 05:55:29 -0800 (PST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9C3741FB; Wed, 4 Jan 2023 05:56:10 -0800 (PST) Received: from FVFF77S0Q05N (unknown [10.57.37.146]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 297963F587; Wed, 4 Jan 2023 05:55:23 -0800 (PST) Date: Wed, 4 Jan 2023 13:55:20 +0000 From: Mark Rutland To: Arnd Bergmann Cc: Peter Zijlstra , Boqun Feng , Linus Torvalds , Jonathan Corbet , Will Deacon , Catalin Marinas , dennis@kernel.org, Tejun Heo , Christoph Lameter , Heiko Carstens , gor@linux.ibm.com, Alexander Gordeev , borntraeger@linux.ibm.com, svens@linux.ibm.com, Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , joro@8bytes.org, suravee.suthikulpanit@amd.com, Robin Murphy , dwmw2@infradead.org, baolu.lu@linux.intel.com, Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-s390@vger.kernel.org, linux-crypto@vger.kernel.org, iommu@lists.linux.dev, Linux-Arch Subject: Re: [RFC][PATCH 05/12] arch: Introduce arch_{,try_}_cmpxchg128{,_local}() Message-ID: References: <20221219153525.632521981@infradead.org> <20221219154119.154045458@infradead.org> <8fea3494-1d1f-4f64-b525-279152cf430b@app.fastmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Wed, Jan 04, 2023 at 11:36:18AM +0000, Mark Rutland wrote: > On Tue, Jan 03, 2023 at 05:50:00PM +0100, Arnd Bergmann wrote: > > On Tue, Jan 3, 2023, at 17:19, Mark Rutland wrote: > > > On Tue, Jan 03, 2023 at 02:03:37PM +0000, Mark Rutland wrote: > > >> On Tue, Jan 03, 2023 at 01:25:35PM +0000, Mark Rutland wrote: > > >> > On Tue, Dec 20, 2022 at 12:08:16PM +0100, Peter Zijlstra wrote: > > > > >> ... makes GCC much happier: > > > > > >> ... I'll go check whether clang is happy with that, and how far back that can > > >> go, otherwise we'll need to blat the high half with a separate constaint that > > >> (ideally) doesn't end up allocating a pointless address register. > > > > > > Hmm... from the commit history it looks like GCC prior to 5.1 might not be > > > happy with that, but that *might* just be if we actually do arithmetic on the > > > value, and we might be ok just using it for memroy effects. I can't currently > > > get such an old GCC to run on my machines so I haven't been able to check. > > > > gcc-5.1 is the oldest (barely) supported compiler, the minimum was > > last raised from gcc-4.9 in linux-5.15. If only gcc-4.9 and older are > > affected, we're good on mainline but may still want a fix for stable > > kernels. > > Yup; I just wanted something that would easily backport to stable, at least as > far as linux-4.9.y (where I couldn't find the minimum GCC version when I looked > yesterday). I'd missed that we backported commit: dca5244d2f5b94f1 ("compiler.h: Raise minimum version of GCC to 5.1 for arm64") ... all the way back to v4.4.y, so we can assume v5.1 even in stable. The earliest toolchain I could get running was GCC 4.8.5, and that was happy with the __uint128_t cast for the asm, Looking back through the history, the reason for the GCC 5.1 check was that prior to GCC 5.1 GCC would output library calls for arithmetic on 128-bit types, as noted in commit: fb8722735f50cd51 ("arm64: support __int128 on gcc 5+") ... but since we're not doing any actual manipulation of the value, that should be fine. I'll go write a commit message and send that out as a fix. > > I checked that the cross-compiler binaries from [1] still work, but I noticed > > that this version is missing the native aarch64-to-aarch64 compiler (x86 to > > aarch64 and vice versa are there), and you need to install libmpfr4 [2] > > as a dependency. The newer compilers (6.5.0 and up) don't have these problems. > > I was trying the old kernel.org crosstool binaries, but I was either missing a > library (or I have an incompatible version) on my x86_64 host. I'll have > another look today -- thanks for the pointers! It turns out I'd just missed that at some point the prefix used by the kernel.org cross compilers changed from: aarch64-linux-gnu- to: aarch64-linux- ... and I'd become so used to the latter that I was trying to invoke a binary that didn't exist. With the older prefix I could use the kernel.org GCC 4.8.5 without issue. Thanks, Mark.