mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: ndesaulniers@google.com
To: yamada.masahiro@socionext.com
Cc: natechancellor@gmail.com, sedat.dilek@gmail.com,
	keescook@chromium.org, samitolvanen@google.com,
	michal.lkml@markovi.net, akpm@linux-foundation.org,
	hannes@cmpxchg.org, peterz@infradead.org,
	linux@dominikbrodowski.net, npiggin@gmail.com,
	mathieu.desnoyers@efficios.com, gor@linux.ibm.com,
	adrian@lisas.de, rgb@redhat.com, linux-kbuild@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Nick Desaulniers <ndesaulniers@google.com>
Subject: [PATCH v2 0/4] Improve kernel LLD support
Date: Mon, 11 Feb 2019 11:30:07 -0800	[thread overview]
Message-ID: <20190211193008.24101-5-ndesaulniers@google.com> (raw)
In-Reply-To: <20190211193008.24101-1-ndesaulniers@google.com>

This patch cleans up a few places in the Makefile to make way for
landing LLD support in the kernel.  There are still a few arch specific
fixes that need to get upstreamed, but this core set of patches should
be arch independent.

Some very rough numbers: LLD is improving the overall build time of
Google Pixel kernels by about 9%.  The build is mostly dominated by
compilation, but LLD is able to shave off quite a bit of time.

One of the included patches helps get LLD linked kernels to competitive
binary size, but there still some bugs in LLD causing it not to discard
certain sections.  Once that's fixed, I estimate an LLD linked kernel to
be just barely smaller than a BFD linked kernel (less than 1%).

Folks looking to test should use LLD built from source, as I recently
fixed a bug in LLD that prevented LLD linked kernel modules from being
loadable.

$ make LD=ld.lld

Nick Desaulniers (4):
  init/Kconfig: add config support for detecting linker
  Makefile: clang: choose GCC_TOOLCHAIN_DIR not on LD
  Makefile: lld: tell clang to use lld
  Makefile: lld: set -O2 linker flag when linking with LLD

Changes since v1:
* collect reviewed-by, sugguested-by, tested-by tags.
* move where -fuse-ld=lld is added to CFLAGS.

 Makefile     | 9 ++++++++-
 init/Kconfig | 9 +++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

-- 
2.20.1.791.gb4d0f1c61a-goog


      parent reply	other threads:[~2019-02-11 19:30 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-11 19:30 [PATCH v2 1/4] init/Kconfig: add config support for detecting linker ndesaulniers
2019-02-11 19:30 ` [PATCH v2 2/4] Makefile: clang: choose GCC_TOOLCHAIN_DIR not on LD ndesaulniers
2019-02-16  3:02   ` Masahiro Yamada
2019-02-11 19:30 ` [PATCH v2 3/4] Makefile: lld: tell clang to use lld ndesaulniers
2019-02-13 14:58   ` Masahiro Yamada
2019-02-13 17:41     ` Nick Desaulniers
2019-02-16  3:07       ` Masahiro Yamada
2019-04-02  3:54         ` Nick Desaulniers
2019-04-02  4:49           ` Masahiro Yamada
2019-04-02  7:08             ` [PATCH v3] " Nick Desaulniers
2019-04-02  7:27               ` Nathan Chancellor
2019-04-02  7:33                 ` [PATCH v4] " Nick Desaulniers
2019-04-02  7:57                   ` Nathan Chancellor
2019-04-02  7:52               ` [PATCH v3] " Sedat Dilek
2019-04-02  7:56                 ` Nathan Chancellor
2019-04-05 10:16               ` Masahiro Yamada
2019-04-05 16:11                 ` Kees Cook
2019-04-05 16:52                   ` Nick Desaulniers
2019-04-07  2:20                     ` Masahiro Yamada
2019-02-11 19:30 ` [PATCH v2 4/4] Makefile: lld: set -O2 linker flag when linking with LLD ndesaulniers
2019-02-12 12:22   ` Peter Zijlstra
2019-02-16  2:55   ` Masahiro Yamada
2019-02-11 19:30 ` ndesaulniers [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190211193008.24101-5-ndesaulniers@google.com \
    --to=ndesaulniers@google.com \
    --cc=adrian@lisas.de \
    --cc=akpm@linux-foundation.org \
    --cc=gor@linux.ibm.com \
    --cc=hannes@cmpxchg.org \
    --cc=keescook@chromium.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@dominikbrodowski.net \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=michal.lkml@markovi.net \
    --cc=natechancellor@gmail.com \
    --cc=npiggin@gmail.com \
    --cc=peterz@infradead.org \
    --cc=rgb@redhat.com \
    --cc=samitolvanen@google.com \
    --cc=sedat.dilek@gmail.com \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®