RE: clang asm-goto support (Was Re: [PATCH v2] x86/retpoline: Add clang support)
From: Yatsina, Marina
Date: Wed Feb 14 2018 - 04:53:26 EST
Hi Peter,
When I started the original thread last year I was in favor of adding "asm goto" and didn't understand why it wasn't done by that time.
The feedback I got is that this feature (optimizing tracepoints) is very useful and that we do want it in llvm, but perhaps there's a cleaner way of implementing than "asm goto". An alternative suggestion arose as well.
I'm sure you can provide a lot of background for the decisions of why "asm goto" was chosen and which other alternatives were considered, as you were the one to implement this. This may shed a lot of light on the alternative suggestions that arose in my thread in the llvm community.
I think that including GCC folks in the "small team" discussion Chandler suggested might be a very good idea, so if you have some contacts, please send them to Chandler.
Anyway, I think we should consider the alternatives and not take "asm goto" as a given, even though this is the implementation of this feature for the past 7 years and it works well.
I'm not saying linux kernel needs to rush and adopt an alternative solution ASAP, but we cannot ignore that it exists and may (or may not) be the direction of the future (for both gcc and llvm).
Thanks,
Marina
-----Original Message-----
From: Peter Zijlstra [mailto:peterz@xxxxxxxxxxxxx]
Sent: Wednesday, February 14, 2018 11:09
To: Yatsina, Marina <marina.yatsina@xxxxxxxxx>
Cc: Kees Cook <keescook@xxxxxxxxxx>; David Woodhouse <dwmw2@xxxxxxxxxxxxx>; Chandler Carruth <chandlerc@xxxxxxxxxx>; Kreitzer, David L <david.l.kreitzer@xxxxxxxxx>; Grischenko, Andrei L <andrei.l.grischenko@xxxxxxxxx>; rnk@xxxxxxxxxx; LLVM Developers <llvm-dev@xxxxxxxxxxxxxx>; ehsan@xxxxxxxxxxx; Tayree, Coby <coby.tayree@xxxxxxxxx>; Matthias Braun <matze@xxxxxxxxxx>; Dean Michael Berris <dean.berris@xxxxxxxxx>; James Y Knight <jyknight@xxxxxxxxxx>; Guenter Roeck <linux@xxxxxxxxxxxx>; X86 ML <x86@xxxxxxxxxx>; LKML <linux-kernel@xxxxxxxxxxxxxxx>; Alan Cox <gnomes@xxxxxxxxxxxxxxxxxxx>; Rik van Riel <riel@xxxxxxxxxx>; Andi Kleen <ak@xxxxxxxxxxxxxxx>; Josh Poimboeuf <jpoimboe@xxxxxxxxxx>; Tom Lendacky <thomas.lendacky@xxxxxxx>; Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>; Jiri Kosina <jikos@xxxxxxxxxx>; Andy Lutomirski <luto@xxxxxxxxxxxxxx>; Hansen, Dave <dave.hansen@xxxxxxxxx>; Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>; Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxxx>; Paul Turner <pjt@xxxxxxxxxx>; Stephen Hines <srhines@xxxxxxxxxx>; Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
Subject: Re: clang asm-goto support (Was Re: [PATCH v2] x86/retpoline: Add clang support)
On Wed, Feb 14, 2018 at 08:33:39AM +0000, Yatsina, Marina wrote:
> I hope this will give this issue a push forward and we will find a
> solution that will not prevent llvm from compiling linux kernel.
That solution is asm-goto. We (linux kernel) are not going to support something like it. It's going to be asm-goto or bust. The feature is over 7 years old by now, deal with it.
If you ever get to the point where it makes sense to build a kernel with LLVM, then you can bike-shed with the GCC team on new features, until then tough luck.
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.