From: Yury Norov <ynorov@nvidia.com>
To: Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nsc@kernel.org>,
linux-kbuild@vger.kernel.org
Cc: Yury Norov <ynorov@nvidia.com>, Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Randy Dunlap <rdunlap@infradead.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Lorenzo Stoakes <ljs@kernel.org>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/2] make: accelerate tagging process
Date: Mon, 14 Sep 2026 20:07:33 -0400 [thread overview]
Message-ID: <20260915000735.1146790-1-ynorov@nvidia.com> (raw)
The tags generation takes about 5 minutes on my working station, which
is comparable to building the whole localyesconfig.
This series adds support for parallel execution of ctags, and caching of
the intermediate tags. With that, the tagging performance numbers with
time make -j8 ALLSOURCE_ARCHS=all tags
look like:
real user sys
Clean tags build before 4m40.797s 4m14.229s 0m39.341s
Clean tags build after 1m39.203s 9m1.450s 2m7.552s
Single file update 0m7.738s 0m7.042s 0m4.031s
Unchanged sources 0m0.722s 0m0.482s 0m0.304s
The cache is compressed and takes less than 10% of the tags file.
The caching doesn't measurably affect clean tags build performance.
Yury Norov (2):
make: parallelize tags generation
make: cache per-directory tags
.gitignore | 1 +
Documentation/kbuild/kbuild.rst | 48 ++++++
Makefile | 6 +-
scripts/Makefile.tags | 15 ++
scripts/tags.sh | 266 ++++++++++++++++++++++++++++++--
5 files changed, 323 insertions(+), 13 deletions(-)
create mode 100644 scripts/Makefile.tags
--
2.53.0
next reply other threads:[~2026-09-15 0:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 0:07 Yury Norov [this message]
2026-09-15 0:07 ` [PATCH 1/2] make: parallelize tags generation Yury Norov
2026-09-15 0:07 ` [PATCH 2/2] make: cache per-directory tags Yury Norov
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=20260915000735.1146790-1-ynorov@nvidia.com \
--to=ynorov@nvidia.com \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ljs@kernel.org \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
--cc=rdunlap@infradead.org \
--cc=skhan@linuxfoundation.org \
--cc=torvalds@linux-foundation.org \
/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®