[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNATVAq_Wkv=K-ezwnG=o8a9OoKspZJYOyq+4OXX7EZHPnA@mail.gmail.com>
Date: Tue, 24 Mar 2020 05:44:32 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: "Jason A. Donenfeld" <Jason@...c4.com>
Cc: X86 ML <x86@...nel.org>, Ingo Molnar <mingo@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Borislav Petkov <bp@...en8.de>,
"H . Peter Anvin" <hpa@...or.com>,
LKML <linux-kernel@...r.kernel.org>,
Allison Randal <allison@...utok.net>,
Armijn Hemel <armijn@...ldur.nl>,
"David S. Miller" <davem@...emloft.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Herbert Xu <herbert@...dor.apana.org.au>,
Ingo Molnar <mingo@...hat.com>,
Kate Stewart <kstewart@...uxfoundation.org>,
Song Liu <songliubraving@...com>,
Zhengyuan Liu <liuzhengyuan@...inos.cn>,
clang-built-linux <clang-built-linux@...glegroups.com>,
Linux Crypto Mailing List <linux-crypto@...r.kernel.org>
Subject: Re: [PATCH 5/7] x86: remove always-defined CONFIG_AS_SSSE3
On Tue, Mar 24, 2020 at 3:06 AM Jason A. Donenfeld <Jason@...c4.com> wrote:
>
> On Sun, Mar 22, 2020 at 8:10 PM Masahiro Yamada <masahiroy@...nel.org> wrote:
> > diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c
> > index bf1b4765c8f6..77457ea5a239 100644
> > --- a/lib/raid6/algos.c
> > +++ b/lib/raid6/algos.c
> > @@ -103,9 +103,7 @@ const struct raid6_recov_calls *const raid6_recov_algos[] = {
> > #ifdef CONFIG_AS_AVX2
> > &raid6_recov_avx2,
> > #endif
> > -#ifdef CONFIG_AS_SSSE3
> > &raid6_recov_ssse3,
> > -#endif
> > #ifdef CONFIG_S390
> > &raid6_recov_s390xc,
> > #endif
>
> algos.c is compiled on all platforms, so you'll need to ifdef that x86
> section where SSSE3 is no longer guarding it. The pattern in the rest
> of the file, if you want to follow it, is "#if defined(__x86_64__) &&
> !defined(__arch_um__)". That seems ugly and like there are better
> ways, but in the interest of uniformity and a lack of desire to
> rewrite all the raid6 code, I went with that in this cleanup:
>
> https://git.zx2c4.com/linux-dev/commit/?h=jd/kconfig-assembler-support&id=512a00ddebbe5294a88487dcf1dc845cf56703d9
Thanks for the pointer,
but I think guarding with CONFIG_X86 makes more sense.
raid6_recov_ssse3 is defined in lib/raid6/recov_ssse3.c,
which is guarded by like this:
raid6_pq-$(CONFIG_X86) += recov_ssse3.o recov_avx2.o mmx.o sse1.o
sse2.o avx2.o avx512.o recov_avx512.o
Indeed,
#if defined(__x86_64__) && !defined(__arch_um__)
is ugly.
I wonder why the code was written like that.
I rather want to check a single CONFIG option.
Please see the attached patch.
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@...glegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/CAHmME9p3LAnrUMmcGPEUFqY5vOASe8MVk4%3DpzqFRj3E9C-bM%2BQ%40mail.gmail.com.
--
Best Regards
Masahiro Yamada
View attachment "0001-x86-replace-arch-macros-from-compiler-with-CONFIG_X8.patch" of type "text/x-patch" (1586 bytes)
Powered by blists - more mailing lists