From mboxrd@z Thu Jan 1 00:00:00 1970 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 5E36F29CA for ; Tue, 14 Dec 2021 02:37:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ADBA7C34600; Tue, 14 Dec 2021 02:36:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1639449420; bh=GWSR6Nrz4HaNzHfVtLkBWKjzlwkjsDWqzzHTbnnNhIo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=KYuNIpBHBPszqDelVMU4LjmrT5VtccNG6ViM0x/KrVlgcNlhdX+fz7F6MM+dK+Wvq /wtJMFEdL5UhVbqN3OLyNKLfQ8Tp54GF5L4ZfGAZtCuArRPeF85AJHLKZEMg2Dkp5F K9DxCvtkKpj+/rEKeQAgXt2cK8/64xgeKwkH4SudKLBxUSlZt0A9HY5y/BwFaBxkBP uIFYwbXOWDdyFSTDrcRNWsvfknoxjlrsJSZ6ks5ta+mO/2N7L4aWsVxljnSMl9pHed dcoxFhYjP64A7/vheaPYXkHhN+QXMU161f5EBuxVV+jcCtbLW5qiz1CL5fY1Y79A3y hkuCXiWtLKBrQ== Date: Mon, 13 Dec 2021 19:36:55 -0700 From: Nathan Chancellor To: Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, will@kernel.org, mark.rutland@arm.com, llvm@lists.linux.dev Subject: Re: [PATCH v2] arm64/xor: use EOR3 instructions when available Message-ID: References: <20211213140252.2856053-1-ardb@kernel.org> Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20211213140252.2856053-1-ardb@kernel.org> Hi Ard, On Mon, Dec 13, 2021 at 03:02:52PM +0100, Ard Biesheuvel wrote: > Use the EOR3 instruction to implement xor_blocks() if the instruction is > available, which is the case if the CPU implements the SHA-3 extension. > This is about 20% faster on Apple M1 when using the 5-way version. > > Signed-off-by: Ard Biesheuvel Our CI reported that this patch as commit ce9ba49a2460 ("arm64/xor: use EOR3 instructions when available") in the arm64 tree breaks allyesconfig: https://github.com/ClangBuiltLinux/continuous-integration2/runs/4514540083?check_suite_focus=true I also see this when building with GCC 11.2.0: WARNING: modpost: EXPORT symbol "xor_block_inner_neon" [vmlinux] version ... Is "xor_block_inner_neon" prototyped in ? aarch64-linux-gnu-ld: arch/arm64/lib/xor-neon.o: relocation R_AARCH64_ABS32 against `__crc_xor_block_inner_neon' can not be used when making a shared object arch/arm64/lib/xor-neon.o:(.data+0x0): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data+0x18): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data+0x20): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x0): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x8): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x10): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x18): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x20): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x28): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x30): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x38): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x40): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x48): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.fini_array+0x0): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.init_array+0x0): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x8): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x18): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x20): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x28): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x30): dangerous relocation: unsupported relocation Cheers, Nathan 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 0A8F7C433EF for ; Tue, 14 Dec 2021 02:38:19 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Q7rMUfqXAFiN0FuCcfMWuTtFaDJJ2jv6n07XqjQ7QN0=; b=ittCW9VBUQ+nrW duXxD+sUKnwYHHXu2j6VDdM2+aFuDBzRpJRTZitw8hWZAxG/5Q166gnWaOMPN78mA6JOZfya4+qKW 1vm0ctKR6ZHlSOwbOUcnw8ebaTUlsyoMHQG7kK/hDWkB6NGkwLwAnj2t39byN/n+yFtX3BcLI2kIq alRsp4vRUbzP8UCvXfT6P5eiH/gvZA1bJ9St6Wdx54m10syneeJpuEKWSbHPZ96q1LpATw8OXKFmI kie154PT5fgzfJ42GXq+N7EVqWUPYOc9PJ5CvkKWWkCk3Za4v8ONzgOmhce21msDiiUr8bOBSBVYx y1E1p1sXi3t+vTWmcfGw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mwxgh-00CIB9-7G; Tue, 14 Dec 2021 02:37:07 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mwxgd-00CIA3-2R for linux-arm-kernel@lists.infradead.org; Tue, 14 Dec 2021 02:37:04 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 47AA0B817D3; Tue, 14 Dec 2021 02:37:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ADBA7C34600; Tue, 14 Dec 2021 02:36:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1639449420; bh=GWSR6Nrz4HaNzHfVtLkBWKjzlwkjsDWqzzHTbnnNhIo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=KYuNIpBHBPszqDelVMU4LjmrT5VtccNG6ViM0x/KrVlgcNlhdX+fz7F6MM+dK+Wvq /wtJMFEdL5UhVbqN3OLyNKLfQ8Tp54GF5L4ZfGAZtCuArRPeF85AJHLKZEMg2Dkp5F K9DxCvtkKpj+/rEKeQAgXt2cK8/64xgeKwkH4SudKLBxUSlZt0A9HY5y/BwFaBxkBP uIFYwbXOWDdyFSTDrcRNWsvfknoxjlrsJSZ6ks5ta+mO/2N7L4aWsVxljnSMl9pHed dcoxFhYjP64A7/vheaPYXkHhN+QXMU161f5EBuxVV+jcCtbLW5qiz1CL5fY1Y79A3y hkuCXiWtLKBrQ== Date: Mon, 13 Dec 2021 19:36:55 -0700 From: Nathan Chancellor To: Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, will@kernel.org, mark.rutland@arm.com, llvm@lists.linux.dev Subject: Re: [PATCH v2] arm64/xor: use EOR3 instructions when available Message-ID: References: <20211213140252.2856053-1-ardb@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20211213140252.2856053-1-ardb@kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211213_183703_433143_51CC865F X-CRM114-Status: GOOD ( 12.89 ) 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 Hi Ard, On Mon, Dec 13, 2021 at 03:02:52PM +0100, Ard Biesheuvel wrote: > Use the EOR3 instruction to implement xor_blocks() if the instruction is > available, which is the case if the CPU implements the SHA-3 extension. > This is about 20% faster on Apple M1 when using the 5-way version. > > Signed-off-by: Ard Biesheuvel Our CI reported that this patch as commit ce9ba49a2460 ("arm64/xor: use EOR3 instructions when available") in the arm64 tree breaks allyesconfig: https://github.com/ClangBuiltLinux/continuous-integration2/runs/4514540083?check_suite_focus=true I also see this when building with GCC 11.2.0: WARNING: modpost: EXPORT symbol "xor_block_inner_neon" [vmlinux] version ... Is "xor_block_inner_neon" prototyped in ? aarch64-linux-gnu-ld: arch/arm64/lib/xor-neon.o: relocation R_AARCH64_ABS32 against `__crc_xor_block_inner_neon' can not be used when making a shared object arch/arm64/lib/xor-neon.o:(.data+0x0): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data+0x18): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data+0x20): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x0): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x8): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x10): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x18): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x20): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x28): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x30): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x38): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x40): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(__patchable_function_entries+0x48): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.fini_array+0x0): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.init_array+0x0): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x8): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x18): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x20): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x28): dangerous relocation: unsupported relocation arch/arm64/lib/xor-neon.o:(.data..ro_after_init+0x30): dangerous relocation: unsupported relocation Cheers, Nathan _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel