2023-02-01 19:25:30

by Nick Desaulniers

[permalink] [raw]
Subject: [PATCH] Documentation/llvm: add Chimera Linux, Google and Meta datacenters

Chimera Linux is a Linux distribution from 2021 that builds its kernels
with Clang.

Google transitioned its data center fleet to run Clang built kernels in
2021, and Meta did so as well in 2022. Meta talked about this at LPC
2022 at a talk titled Kernel Live Patching at Scale.

These were important milestones for building the kernel with Clang.
Making note of them helps improve confidence in the project.

Signed-off-by: Yonghong Song <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
---
Cc: Daniel Kolesa <[email protected]>
Cc: Chris Mason <[email protected]>
---
Documentation/kbuild/llvm.rst | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/Documentation/kbuild/llvm.rst b/Documentation/kbuild/llvm.rst
index 6b2bac8e9ce0..6a37ab903e45 100644
--- a/Documentation/kbuild/llvm.rst
+++ b/Documentation/kbuild/llvm.rst
@@ -15,12 +15,15 @@ such as GCC and binutils. Ongoing work has allowed for `Clang
<https://clang.llvm.org/>`_ and `LLVM <https://llvm.org/>`_ utilities to be
used as viable substitutes. Distributions such as `Android
<https://www.android.com/>`_, `ChromeOS
-<https://www.chromium.org/chromium-os>`_, and `OpenMandriva
-<https://www.openmandriva.org/>`_ use Clang built kernels. `LLVM is a
-collection of toolchain components implemented in terms of C++ objects
-<https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM that
-supports C and the GNU C extensions required by the kernel, and is pronounced
-"klang," not "see-lang."
+https://www.chromium.org/chromium-os>`_, `OpenMandriva
+<https://www.openmandriva.org/>`_, and `Chimera Linux
+<https://chimera-linux.org/>`_ use Clang built kernels. Google's and Meta's
+datacenter fleets also run kernels built with Clang.
+
+`LLVM is a collection of toolchain components implemented in terms of C++
+objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM
+that supports C and the GNU C extensions required by the kernel, and is
+pronounced "klang," not "see-lang."

Clang
-----
--
2.39.1.456.gfc5497dd1b-goog



2023-02-01 19:55:40

by Tom Rix

[permalink] [raw]
Subject: Re: [PATCH] Documentation/llvm: add Chimera Linux, Google and Meta datacenters


On 2/1/23 11:25 AM, Nick Desaulniers wrote:
> Chimera Linux is a Linux distribution from 2021 that builds its kernels
> with Clang.
>
> Google transitioned its data center fleet to run Clang built kernels in
> 2021, and Meta did so as well in 2022. Meta talked about this at LPC
> 2022 at a talk titled Kernel Live Patching at Scale.
>
> These were important milestones for building the kernel with Clang.
> Making note of them helps improve confidence in the project.
>
> Signed-off-by: Yonghong Song <[email protected]>
> Signed-off-by: Nick Desaulniers <[email protected]>
> ---
> Cc: Daniel Kolesa <[email protected]>
> Cc: Chris Mason <[email protected]>
> ---
> Documentation/kbuild/llvm.rst | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/kbuild/llvm.rst b/Documentation/kbuild/llvm.rst
> index 6b2bac8e9ce0..6a37ab903e45 100644
> --- a/Documentation/kbuild/llvm.rst
> +++ b/Documentation/kbuild/llvm.rst
> @@ -15,12 +15,15 @@ such as GCC and binutils. Ongoing work has allowed for `Clang
> <https://clang.llvm.org/>`_ and `LLVM <https://llvm.org/>`_ utilities to be
> used as viable substitutes. Distributions such as `Android
> <https://www.android.com/>`_, `ChromeOS
> -<https://www.chromium.org/chromium-os>`_, and `OpenMandriva
> -<https://www.openmandriva.org/>`_ use Clang built kernels. `LLVM is a
> -collection of toolchain components implemented in terms of C++ objects
> -<https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM that
> -supports C and the GNU C extensions required by the kernel, and is pronounced
> -"klang," not "see-lang."
> +https://www.chromium.org/chromium-os>`_, `OpenMandriva
> +<https://www.openmandriva.org/>`_, and `Chimera Linux
> +<https://chimera-linux.org/>`_ use Clang built kernels. Google's and Meta's
> +datacenter fleets also run kernels built with Clang.
> +
> +`LLVM is a collection of toolchain components implemented in terms of C++
> +objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM
> +that supports C and the GNU C extensions required by the kernel, and is
> +pronounced "klang," not "see-lang."

:) yes it is klang.

Looks fine.

Reviewed-by: Tom Rix <[email protected]>

>
> Clang
> -----


2023-02-01 21:16:59

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] Documentation/llvm: add Chimera Linux, Google and Meta datacenters

On Wed, Feb 01, 2023 at 11:25:09AM -0800, Nick Desaulniers wrote:
> Chimera Linux is a Linux distribution from 2021 that builds its kernels
> with Clang.
>
> Google transitioned its data center fleet to run Clang built kernels in
> 2021, and Meta did so as well in 2022. Meta talked about this at LPC
> 2022 at a talk titled Kernel Live Patching at Scale.
>
> These were important milestones for building the kernel with Clang.
> Making note of them helps improve confidence in the project.
>
> Signed-off-by: Yonghong Song <[email protected]>
> Signed-off-by: Nick Desaulniers <[email protected]>

Reading a docs diff makes my head hurt :)

Reviewed-by: Nathan Chancellor <[email protected]>

One note, the signoff plus authorship looks odd to me. Perhaps this
should be using Co-developed-by: ?

https://kernel.org/doc/html/latest/process/submitting-patches.html#when-to-use-acked-by-cc-and-co-developed-by
Documentation/process/submitting-patches.rst, "When to use Acked-by:, Cc:, and Co-developed-by:"

> ---
> Cc: Daniel Kolesa <[email protected]>
> Cc: Chris Mason <[email protected]>
> ---
> Documentation/kbuild/llvm.rst | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/kbuild/llvm.rst b/Documentation/kbuild/llvm.rst
> index 6b2bac8e9ce0..6a37ab903e45 100644
> --- a/Documentation/kbuild/llvm.rst
> +++ b/Documentation/kbuild/llvm.rst
> @@ -15,12 +15,15 @@ such as GCC and binutils. Ongoing work has allowed for `Clang
> <https://clang.llvm.org/>`_ and `LLVM <https://llvm.org/>`_ utilities to be
> used as viable substitutes. Distributions such as `Android
> <https://www.android.com/>`_, `ChromeOS
> -<https://www.chromium.org/chromium-os>`_, and `OpenMandriva
> -<https://www.openmandriva.org/>`_ use Clang built kernels. `LLVM is a
> -collection of toolchain components implemented in terms of C++ objects
> -<https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM that
> -supports C and the GNU C extensions required by the kernel, and is pronounced
> -"klang," not "see-lang."
> +https://www.chromium.org/chromium-os>`_, `OpenMandriva
> +<https://www.openmandriva.org/>`_, and `Chimera Linux
> +<https://chimera-linux.org/>`_ use Clang built kernels. Google's and Meta's
> +datacenter fleets also run kernels built with Clang.
> +
> +`LLVM is a collection of toolchain components implemented in terms of C++
> +objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM
> +that supports C and the GNU C extensions required by the kernel, and is
> +pronounced "klang," not "see-lang."
>
> Clang
> -----
> --
> 2.39.1.456.gfc5497dd1b-goog
>

2023-02-01 23:28:54

by Sedat Dilek

[permalink] [raw]
Subject: Re: [PATCH] Documentation/llvm: add Chimera Linux, Google and Meta datacenters

On Wed, Feb 1, 2023 at 8:47 PM Nick Desaulniers <[email protected]> wrote:
>
> Chimera Linux is a Linux distribution from 2021 that builds its kernels
> with Clang.
>
> Google transitioned its data center fleet to run Clang built kernels in
> 2021, and Meta did so as well in 2022. Meta talked about this at LPC
> 2022 at a talk titled Kernel Live Patching at Scale.
>
> These were important milestones for building the kernel with Clang.
> Making note of them helps improve confidence in the project.
>
> Signed-off-by: Yonghong Song <[email protected]>
> Signed-off-by: Nick Desaulniers <[email protected]>
> ---
> Cc: Daniel Kolesa <[email protected]>
> Cc: Chris Mason <[email protected]>
> ---
> Documentation/kbuild/llvm.rst | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/kbuild/llvm.rst b/Documentation/kbuild/llvm.rst
> index 6b2bac8e9ce0..6a37ab903e45 100644
> --- a/Documentation/kbuild/llvm.rst
> +++ b/Documentation/kbuild/llvm.rst
> @@ -15,12 +15,15 @@ such as GCC and binutils. Ongoing work has allowed for `Clang
> <https://clang.llvm.org/>`_ and `LLVM <https://llvm.org/>`_ utilities to be
> used as viable substitutes. Distributions such as `Android
> <https://www.android.com/>`_, `ChromeOS
> -<https://www.chromium.org/chromium-os>`_, and `OpenMandriva
> -<https://www.openmandriva.org/>`_ use Clang built kernels. `LLVM is a
> -collection of toolchain components implemented in terms of C++ objects
> -<https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM that
> -supports C and the GNU C extensions required by the kernel, and is pronounced
> -"klang," not "see-lang."
> +https://www.chromium.org/chromium-os>`_, `OpenMandriva
> +<https://www.openmandriva.org/>`_, and `Chimera Linux
> +<https://chimera-linux.org/>`_ use Clang built kernels. Google's and Meta's
> +datacenter fleets also run kernels built with Clang.
> +
> +`LLVM is a collection of toolchain components implemented in terms of C++
> +objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM
> +that supports C and the GNU C extensions required by the kernel, and is
> +pronounced "klang," not "see-lang."
>

Nick thanks for the patch!

My ex-colleague Bernd Helmle corrected me - it's not "See-Lang" it's
"Klang" and encouraged me to work on ClangBuiltLinux.

"Klang" means German tone, sound, etc. like vocal tone.

That "sounds" nice (shrillness):
clangor (AE) / clangour (BE) - schriller Klang (DE)

For Bernd:

Reviewed-by: Sedat Dilek <[email protected]>

BR,
-Sedat-

[1] https://dict.leo.org/englisch-deutsch/Klang

> Clang
> -----
> --
> 2.39.1.456.gfc5497dd1b-goog
>

2023-02-02 09:34:14

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] Documentation/llvm: add Chimera Linux, Google and Meta datacenters

Hi Nick,

I love your patch! Perhaps something to improve:

[auto build test WARNING on masahiroy-kbuild/for-next]
[also build test WARNING on masahiroy-kbuild/fixes linus/master v6.2-rc6 next-20230202]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Nick-Desaulniers/Documentation-llvm-add-Chimera-Linux-Google-and-Meta-datacenters/20230202-032729
base: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git for-next
patch link: https://lore.kernel.org/r/20230201192509.4124319-1-ndesaulniers%40google.com
patch subject: [PATCH] Documentation/llvm: add Chimera Linux, Google and Meta datacenters
reproduce:
# https://github.com/intel-lab-lkp/linux/commit/fb73005aa3c6a4052e30f0f0dc2c608bafd8acce
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Nick-Desaulniers/Documentation-llvm-add-Chimera-Linux-Google-and-Meta-datacenters/20230202-032729
git checkout fb73005aa3c6a4052e30f0f0dc2c608bafd8acce
make menuconfig
# enable CONFIG_COMPILE_TEST, CONFIG_WARN_MISSING_DOCUMENTS, CONFIG_WARN_ABI_ERRORS
make htmldocs

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>):

>> Documentation/kbuild/llvm.rst:13: WARNING: Unknown target name: "chromeos https://www.chromium.org/chromium-os>".

vim +13 Documentation/kbuild/llvm.rst

fcf1b6a35c16ac5 Nick Desaulniers 2020-02-26 12
fcf1b6a35c16ac5 Nick Desaulniers 2020-02-26 @13 The Linux kernel has always traditionally been compiled with GNU toolchains
fcf1b6a35c16ac5 Nick Desaulniers 2020-02-26 14 such as GCC and binutils. Ongoing work has allowed for `Clang
fcf1b6a35c16ac5 Nick Desaulniers 2020-02-26 15 <https://clang.llvm.org/>`_ and `LLVM <https://llvm.org/>`_ utilities to be
fcf1b6a35c16ac5 Nick Desaulniers 2020-02-26 16 used as viable substitutes. Distributions such as `Android
fcf1b6a35c16ac5 Nick Desaulniers 2020-02-26 17 <https://www.android.com/>`_, `ChromeOS
fb73005aa3c6a40 Nick Desaulniers 2023-02-01 18 https://www.chromium.org/chromium-os>`_, `OpenMandriva
fb73005aa3c6a40 Nick Desaulniers 2023-02-01 19 <https://www.openmandriva.org/>`_, and `Chimera Linux
fb73005aa3c6a40 Nick Desaulniers 2023-02-01 20 <https://chimera-linux.org/>`_ use Clang built kernels. Google's and Meta's
fb73005aa3c6a40 Nick Desaulniers 2023-02-01 21 datacenter fleets also run kernels built with Clang.
fb73005aa3c6a40 Nick Desaulniers 2023-02-01 22

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

2023-02-02 18:06:03

by Nick Desaulniers

[permalink] [raw]
Subject: [PATCH v2] Documentation/llvm: add Chimera Linux, Google and Meta datacenters

Chimera Linux is a Linux distribution from 2021 that builds its kernels
with Clang.

Google transitioned its data center fleet to run Clang built kernels in
2021, and Meta did so as well in 2022. Meta talked about this at LPC
2022 at a talk titled Kernel Live Patching at Scale.

These were important milestones for building the kernel with Clang.
Making note of them helps improve confidence in the project.

Reviewed-by: Tom Rix <[email protected]>
Reviewed-by: Nathan Chancellor <[email protected]>
Reviewed-by: Sedat Dilek <[email protected]>
Co-developed-by: Yonghong Song <[email protected]>
Signed-off-by: Nick Desaulniers <[email protected]>
---
Cc: Daniel Kolesa <[email protected]>
Cc: Chris Mason <[email protected]>
---
For Bernd Helmle!

Changes v1 -> v2:
* pick up RB tags.
* switch signed-off-by to co-developed-by, as per Nathan.
* restore `<` I dropped accidentally in v1, as per kernel test robot.

Documentation/kbuild/llvm.rst | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/Documentation/kbuild/llvm.rst b/Documentation/kbuild/llvm.rst
index 6b2bac8e9ce0..bfb51685073c 100644
--- a/Documentation/kbuild/llvm.rst
+++ b/Documentation/kbuild/llvm.rst
@@ -15,12 +15,15 @@ such as GCC and binutils. Ongoing work has allowed for `Clang
<https://clang.llvm.org/>`_ and `LLVM <https://llvm.org/>`_ utilities to be
used as viable substitutes. Distributions such as `Android
<https://www.android.com/>`_, `ChromeOS
-<https://www.chromium.org/chromium-os>`_, and `OpenMandriva
-<https://www.openmandriva.org/>`_ use Clang built kernels. `LLVM is a
-collection of toolchain components implemented in terms of C++ objects
-<https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM that
-supports C and the GNU C extensions required by the kernel, and is pronounced
-"klang," not "see-lang."
+<https://www.chromium.org/chromium-os>`_, `OpenMandriva
+<https://www.openmandriva.org/>`_, and `Chimera Linux
+<https://chimera-linux.org/>`_ use Clang built kernels. Google's and Meta's
+datacenter fleets also run kernels built with Clang.
+
+`LLVM is a collection of toolchain components implemented in terms of C++
+objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM
+that supports C and the GNU C extensions required by the kernel, and is
+pronounced "klang," not "see-lang."

Clang
-----
--
2.39.1.519.gcb327c4b5f-goog