On May 6, 2017 1:16:35 AM PDT, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: >On Fri, May 05, 2017 at 01:36:34PM -0700, Michael Davidson wrote: > >> There are a few lingering places in the kernel which use variable >> length arrays in structs (eg the raid10 driver) which don't build >with >> clang and that is about it. > >So the other point I raised is lack of asm goto (and asm flags output). > >Without that our static key infrastructure reverts to runtime branches >and affects performance. > >> So, while I completely understand the resistance to adding arbitrary >> hacks to the kernel just to support another compiler it is important >> to also understand just how close things are to "just working". > >Reading up on the LLVM thread on asm goto they appear to want to >provide >an intrinsic to allow doing the patchable branch thing. That would be >fairly limiting, and the proposal I've seen doesn't even cover the two >(or rather 4) states of patchable branches we have in the kernel. > >Not to mention that such an intrinsic doesn't even begin to cover all >the other (perhaps creative) uses we have got asm goto used. > >But my main point is that we'd have to rewrite and maintain _two_ >versions of the static key infrastructure if we were to support LLVM's >intrinsic and the GCC asm goto. That is a very undesirable place to be. > >So while they'll say they support the feature, I'll say its worthless >since I'm not inclined to support their variant of it. As is, I'm not >getting the feeling the LLVM team really cares about Linux. This has been a common problem with LLVM: they say that they will provide feature compatibility with gcc, but then they say this or that gcc extension "doesn't make sense" and is something they don't want to support. -- Sent from my Android device with K-9 Mail. Please excuse my brevity. -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html