mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] make: accelerate tagging process
@ 2026-09-15  0:07 Yury Norov
  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
  0 siblings, 2 replies; 3+ messages in thread
From: Yury Norov @ 2026-09-15  0:07 UTC (permalink / raw)
  To: Nathan Chancellor, Nicolas Schier, linux-kbuild
  Cc: Yury Norov, Jonathan Corbet, Shuah Khan, Randy Dunlap,
	Linus Torvalds, Lorenzo Stoakes, linux-doc, linux-kernel

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-15  0:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-15  0:07 [PATCH 0/2] make: accelerate tagging process Yury Norov
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

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®