From: Kees Cook <keescook@chromium.org>
To: Sami Tolvanen <samitolvanen@google.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>,
Michal Marek <michal.lkml@markovi.net>,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] kbuild: reuse vmlinux.o in vmlinux_link
Date: Thu, 21 May 2020 15:08:53 -0700 [thread overview]
Message-ID: <202005211506.2700F86@keescook> (raw)
In-Reply-To: <20200521202716.193316-1-samitolvanen@google.com>
On Thu, May 21, 2020 at 01:27:16PM -0700, Sami Tolvanen wrote:
> Instead of linking all compilation units again each time vmlinux_link is
> called, reuse vmlinux.o from modpost_link.
>
> With x86_64 allyesconfig, vmlinux_link is called three times and reusing
> vmlinux.o reduces the build time ~38 seconds on my system (59% reduction
> in the time spent in vmlinux_link).
Nice! Any time savings at final link is a big cumulative win.
> Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
> ---
> scripts/link-vmlinux.sh | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
> index d09ab4afbda4..c6cc4305950c 100755
> --- a/scripts/link-vmlinux.sh
> +++ b/scripts/link-vmlinux.sh
> @@ -77,11 +77,8 @@ vmlinux_link()
>
> if [ "${SRCARCH}" != "um" ]; then
> objects="--whole-archive \
> - ${KBUILD_VMLINUX_OBJS} \
> + vmlinux.o \
> --no-whole-archive \
> - --start-group \
> - ${KBUILD_VMLINUX_LIBS} \
> - --end-group \
> ${@}"
>
> ${LD} ${KBUILD_LDFLAGS} ${LDFLAGS_vmlinux} \
I think the "um" case can be updated as well too, yes?
Also, I think the comment above modpost_link() needs to be updated now
to reflect the nature of how vmlinux.o gets used after this patch.
--
Kees Cook
next prev parent reply other threads:[~2020-05-21 22:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-21 20:27 [PATCH] kbuild: reuse vmlinux.o in vmlinux_link Sami Tolvanen
2020-05-21 22:08 ` Kees Cook [this message]
2020-05-22 18:16 ` Masahiro Yamada
2020-05-21 22:18 ` Kees Cook
2020-05-22 17:41 ` Masahiro Yamada
2020-05-22 17:44 ` Masahiro Yamada
2020-05-22 17:44 ` Masahiro Yamada
2020-05-23 10:06 ` Nicholas Piggin
2020-05-23 10:06 ` Nicholas Piggin
2020-05-23 15:12 ` Masahiro Yamada
2020-05-23 15:12 ` Masahiro Yamada
2020-05-23 16:53 ` Sam Ravnborg
2020-05-23 16:53 ` Sam Ravnborg
2020-05-25 6:13 ` Masahiro Yamada
2020-05-25 6:13 ` Masahiro Yamada
2020-06-15 21:47 ` Sami Tolvanen
2020-06-15 21:47 ` Sami Tolvanen
2020-06-16 3:22 ` Masahiro Yamada
2020-06-16 3:22 ` Masahiro Yamada
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=202005211506.2700F86@keescook \
--to=keescook@chromium.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=michal.lkml@markovi.net \
--cc=samitolvanen@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.