From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 734AD3859D9; Sat, 28 Feb 2026 10:31:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=90.155.92.199 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772274716; cv=none; b=YtAsVQLYq5TjkttKBNtSPhJA5UbKEtHyVGSfMqubYcoq1j+n7C4BxtkfvkNr+KrhBAVgs0NBplbt1ceLt6ROvAAX5YKeDv/ZPowvLccU9AtgTMXdSq3SLF26eDES5dq7HMZ4g1W62q2ZxNooYHXny1A81c1ziggy6CuPHCTFz+8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772274716; c=relaxed/simple; bh=yfoqQ9vN7OO2ec4V/ZA9PZIXZ4CKF9DDFJKzwpjOEpA=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=nm1CtzMCriQWe7CPOOt9sf4YyH3tGw5xuYMYjmIbN+8ZtKbZOflRYr0dx8vE+4lW+JhDHAy+7Xh7lBmc36jgNgmRzmJEZnK4YDHoqLlZPMsgnlkhYb6hsvSw3nNRuAn8cUEj/QdAbCKUPsONAVrw8wcSjdPxwI9lDm0GDr+CYSU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=infradead.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=Ihs5Yf5H; arc=none smtp.client-ip=90.155.92.199 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=infradead.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="Ihs5Yf5H" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=TMfQFraLliTO9OYi4VnvV7gf7AjKPxIluxE2boSfq9E=; b=Ihs5Yf5HVrcI20Hvh5VGWrIGtj w539I2X4jBa2jKtS495tj7OW6yzhUvsPzuvYxap8QuwZoigJhFPba8v5sdtkPlsa6ID6C16CNvr3D fYcDuOEFbymUfK08ZwvafhxK/cQQqT8fuyE87FJ8bLSaBRcRuE1oHdJ8cGt5ahL8RttPyiMxygm7n mt+sFX75z3hVeBiEagfvPL++3zVOztglGmkatawM3oQt9uFpQqkNr4WQvFkrT+2czFsf7HwHxTWyD ed2+E9lBjpxNLnaogre7bAMexNOCdGPm1iLI1kQQI6WFzJBF95/QpTcsQabK0eral+I71Lj4w+g8Q gLUIf0SA==; Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux)) id 1vwHbS-0000000EUcv-1pQT; Sat, 28 Feb 2026 10:31:18 +0000 Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000) id 2ADC430066A; Sat, 28 Feb 2026 11:31:17 +0100 (CET) Date: Sat, 28 Feb 2026 11:31:17 +0100 From: Peter Zijlstra To: Eric Biggers Cc: Christoph Hellwig , Andrew Morton , Richard Henderson , Matt Turner , Magnus Lindholm , Russell King , Catalin Marinas , Will Deacon , Huacai Chen , WANG Xuerui , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , "David S. Miller" , Andreas Larsson , Richard Weinberger , Anton Ivanov , Johannes Berg , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Herbert Xu , Dan Williams , Chris Mason , David Sterba , Arnd Bergmann , Song Liu , Yu Kuai , Li Nan , linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-crypto@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-arch@vger.kernel.org, linux-raid@vger.kernel.org Subject: Re: [PATCH 18/25] x86: move the XOR code to lib/raid/ Message-ID: <20260228103117.GK1282955@noisy.programming.kicks-ass.net> References: <20260226151106.144735-1-hch@lst.de> <20260226151106.144735-19-hch@lst.de> <20260227143016.GH1282955@noisy.programming.kicks-ass.net> <20260227235529.GA31321@quark> Precedence: bulk X-Mailing-List: linux-alpha@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: <20260227235529.GA31321@quark> On Fri, Feb 27, 2026 at 03:55:29PM -0800, Eric Biggers wrote: > On Fri, Feb 27, 2026 at 03:30:16PM +0100, Peter Zijlstra wrote: > > On Thu, Feb 26, 2026 at 07:10:30AM -0800, Christoph Hellwig wrote: > > > Move the optimized XOR code out of line into lib/raid. > > > > > > Signed-off-by: Christoph Hellwig > > > --- > > > arch/x86/include/asm/xor.h | 518 ++---------------- > > > arch/x86/include/asm/xor_64.h | 32 -- > > > lib/raid/xor/Makefile | 8 + > > > .../xor_avx.h => lib/raid/xor/x86/xor-avx.c | 14 +- > > > .../xor_32.h => lib/raid/xor/x86/xor-mmx.c | 60 +- > > > lib/raid/xor/x86/xor-sse.c | 476 ++++++++++++++++ > > > > I gotta ask, why lib/raid/xor/$arch/ instead of something like > > arch/$arch/lib/xor ? > > Similar to lib/crypto/ and lib/crc/, it allows the translation units > (either .c or .S files) containing architecture-optimized XOR code to be > included directly in the xor.ko module, where they should be. > > Previously, these were always built into the core kernel even if > XOR_BLOCKS was 'n' or 'm', or they were built into a separate module > xor-neon.ko which xor.ko depended on. So either the code was included > unnecessarily, or there was an extra module. > > Technically we could instead have the lib makefile compile stuff in > arch/, but that would be unusual. It's much cleaner to have the > directory structure match the build system. Hmm, I suppose. Its just weird that we now have to look in both arch/$foo and lib/*/$foo/ to find all arch code. And I don't suppose symlinks would make it better?