Linux: Linux Plumbers / Kernel Summit 2018

Created on 13 Nov 2018  路  9Comments  路  Source: ClangBuiltLinux/linux

Hey, I'm at Linux Plumbers Conf which is colocated at Kernel Summit in Vancouver, BC, Canada.

Sorry for the short notice, but here are the slides we are going to present on Wednesday. Let me know if there's anything more I should add? Next year I can probably do a better job trying to collaborate.

We're the 3rd talk of the conf on clang! Linaro is doing two. @berolinaro and a BoF

announcement

Most helpful comment

Trip report:
3 talks on clang:

  1. Clang BoF

    • introductions from some folks (Mark Brown (Linaro), Mark Rutland (ARM), @daxtens (Canonical), Dmity Vyukov (Google), Behan Webster (LLVMLinux), Kevin Hillman (kernel-ci), @arndb (Linaro), Greg Hackmann (Google), Kees Cook (Google)).

    • Questions about 0-day bot and kernel-ci integration.

    • good turnout (~45-50 attendees)

    • Victor ?? asking about performance, I asked them what benchmarks they find meaningful for us to dig in.

    • Folks interested in link time improvements with LLD (need to measure)

    • Behan mentioned ICE (@gwelymernans is working on this https://github.com/ClangBuiltLinux/linux/issues/7)

    • Someone mentioned that Fedora has old builds of clang

    • Mark Rutland suggested having clang binaries on kernel.org. I need to follow up on this.

  2. @berolinaro gave a talk on clang userspace

    • https://www.openmandriva.org/ is the only non-android/cros distro also built with Clang userspace

    • Android userspace no longer building with gcc (I'd be curious to see the bugs there).

    • glib relies on asm-goto

    • someone mentioned that Google has a glibc-clang fork somewhere?

    • g-ir-scanner doesn't understand llvm's IR for LTO.

    • freebsd-ports might have some patches for building more things with Clang.

    • someone asked if clang can build gcc to prevent Thompson attack. (idk)

    • Victor ?? asked about clang + CET. I think clang's CFI+SCS is equivalent? :man_shrugging:

  3. Greg Hackmann and I gave a talk on kernel.

    • Someone asked about our solution to compiler plugins. I stated maintaining compiler plugins is a PITA. Mark Rutland pointed out that Clang does itself have a plugin system. I should have asked that any features built on compiler plugins be optional and not mandatory for builds.

I was able to talk more with Mark Rutland about the LTO patches we tried to upstream earlier this year. Turns out ARM maintainers boot their kernels at EL2, while for Pixel we only use EL1. That's why we (Google) could not reproduce the reported failures. Turns out the code has been rewritten anyways and Mark was able to boot a Clang built kernel in QEMU. He sent me what he tests for, so I need to add that to our CI. Ongoing thread with some folks about hardening these requirements maybe with a yet to be developed code model related compiler flag. Can probably try upstreaming LTO patches again.

Kevin Hillman from Kernel-CI was super interested in getting builds with clang under CI. He showed me his super slick setup. He has programmatic relays for boards to power cycle them. They boot with a network stack in uboot. He can then push a kernel image, rootfs, and dtb and boot them. Then he can access the serial output, all remote. He was able to boot a clang built kernel on some board in the time we sat together. He was super interested in the ccache stuff we use, too. I sent in more info on that.

Met Ramana Radhakrishnan from ARM working on GCC. Discussed SVE and compiler features.

@gregkh mentioned sending the mbox files for 4.9 and 4.4. A group of us ate at a "poutinerie" and then had beers at "The Moose."

the moose

All 9 comments

Looks solid to me. Do you know if there is going to be any recording? I'd love to watch the final result.

You will to a good job to present CBL to a wider audience. Thanks.

Slide #6 revealed priorities arm64/arm 1st and 2nd, on 3rd place x86-64. But prios is good to have.

Slide #11: asm-go-go-goto

@daxtens is here!

They were recording. I suspect they'll be posted to LKF's YT channel after maybe a month's worth of latency? I'll probably copy my trip report here for folks, then close out this issue.

Wonderful - I was so sorry to miss it!

Trip report:
3 talks on clang:

  1. Clang BoF

    • introductions from some folks (Mark Brown (Linaro), Mark Rutland (ARM), @daxtens (Canonical), Dmity Vyukov (Google), Behan Webster (LLVMLinux), Kevin Hillman (kernel-ci), @arndb (Linaro), Greg Hackmann (Google), Kees Cook (Google)).

    • Questions about 0-day bot and kernel-ci integration.

    • good turnout (~45-50 attendees)

    • Victor ?? asking about performance, I asked them what benchmarks they find meaningful for us to dig in.

    • Folks interested in link time improvements with LLD (need to measure)

    • Behan mentioned ICE (@gwelymernans is working on this https://github.com/ClangBuiltLinux/linux/issues/7)

    • Someone mentioned that Fedora has old builds of clang

    • Mark Rutland suggested having clang binaries on kernel.org. I need to follow up on this.

  2. @berolinaro gave a talk on clang userspace

    • https://www.openmandriva.org/ is the only non-android/cros distro also built with Clang userspace

    • Android userspace no longer building with gcc (I'd be curious to see the bugs there).

    • glib relies on asm-goto

    • someone mentioned that Google has a glibc-clang fork somewhere?

    • g-ir-scanner doesn't understand llvm's IR for LTO.

    • freebsd-ports might have some patches for building more things with Clang.

    • someone asked if clang can build gcc to prevent Thompson attack. (idk)

    • Victor ?? asked about clang + CET. I think clang's CFI+SCS is equivalent? :man_shrugging:

  3. Greg Hackmann and I gave a talk on kernel.

    • Someone asked about our solution to compiler plugins. I stated maintaining compiler plugins is a PITA. Mark Rutland pointed out that Clang does itself have a plugin system. I should have asked that any features built on compiler plugins be optional and not mandatory for builds.

I was able to talk more with Mark Rutland about the LTO patches we tried to upstream earlier this year. Turns out ARM maintainers boot their kernels at EL2, while for Pixel we only use EL1. That's why we (Google) could not reproduce the reported failures. Turns out the code has been rewritten anyways and Mark was able to boot a Clang built kernel in QEMU. He sent me what he tests for, so I need to add that to our CI. Ongoing thread with some folks about hardening these requirements maybe with a yet to be developed code model related compiler flag. Can probably try upstreaming LTO patches again.

Kevin Hillman from Kernel-CI was super interested in getting builds with clang under CI. He showed me his super slick setup. He has programmatic relays for boards to power cycle them. They boot with a network stack in uboot. He can then push a kernel image, rootfs, and dtb and boot them. Then he can access the serial output, all remote. He was able to boot a clang built kernel on some board in the time we sat together. He was super interested in the ccache stuff we use, too. I sent in more info on that.

Met Ramana Radhakrishnan from ARM working on GCC. Discussed SVE and compiler features.

@gregkh mentioned sending the mbox files for 4.9 and 4.4. A group of us ate at a "poutinerie" and then had beers at "The Moose."

the moose

Was your talk with Greg Hackmann recorded?

[1] 2018 LLVM Developers' Meeting Videos on YouTube
https://www.youtube.com/playlist?list=PL_R5A0lGi1AARZysSx4VzpaLAzny4es2e

@dileks , yes. They sent an email announcement that it will show up on the linux plumbers yt channel when available.

Hey, videos up on yt:

  1. Clang BoF (ft. @daxtens , @dvyukov 馃帀 )
  2. Clang userspace via @berolinaro
  3. Clang + Linux
Was this page helpful?
0 / 5 - 0 ratings