<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-next.git/scripts/ver_linux, branch master</title>
<subtitle>Linux kernel latest source</subtitle>
<id>http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/'/>
<updated>2026-09-25T23:16:36+00:00</updated>
<entry>
<title>kbuild: compress the kernel with pigz if available</title>
<updated>2026-09-25T23:16:36+00:00</updated>
<author>
<name>Lorenzo Stoakes (ARM)</name>
<email>ljs@kernel.org</email>
</author>
<published>2026-09-23T17:18:11+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=48ebe1cbbeb51879ba4d22775fee1654d94d1cc6'/>
<id>urn:sha1:48ebe1cbbeb51879ba4d22775fee1654d94d1cc6</id>
<content type='text'>
The gzip step of a kernel build is very lengthy, especially for larger
builds such as allmodconfig.

gzip itself cannot be run in parallel, however an alternative tool exists
that can, providing the same feature set as gzip itself - pigz - which
works as a drop-in replacement.

On a 128-core Threadripper, gzip -9 of a 36 MiB x86-64 vmlinux.bin takes
1.6s, and with pigz it takes 0.09s, so the performance increase is
significant.

Therefore introduce the KPGZIP build variable which specifies the
compressor to use for the kernel image and default it to pigz if available,
or KGZIP otherwise (which itself defaults to gzip).

Modules, packaging and the embedded kernel configuration (CONFIG_IKCONFIG)
continue to use KGZIP which defaults to a single-threaded gzip instance.

Module compression is run in parallel by make, so pigz offers no benefit
there, packaging sits outside the build and the embedded configuration is
too small to matter.

pigz is executed using scripts/jobserver-exec, which reserves the job slots
make has free - necessary, as otherwise pigz would just grab unbounded
CPUs.

The kernel image compression step is always performed at the end of the
build so should typically have all job slots available.

pigz always provides byte-for-byte identical output across runs regardless
of thread count, but pigz and gzip are not guaranteed to generate the same
binary output, so reproducible builds must use the same tools consistently.

Also update Documentation/kbuild/kbuild.rst to describe KPGZIP and
Documentation/process/changes.rst to list the optional pigz dependency.

While there, add entries for the other compressor programs.

Finally, update scripts/ver_linux to include the pigz version there.

Every x86 build ends with the compression of vmlinux.bin, 36MB for
defconfig and over 200MB for allmodconfig, no-op builds are unchanged.

Whole build, 128-thread Threadripper 9980X, best of N runs:

                                         before   after     delta
                                         -------------------------------
  x86 defconfig, touch mm/vma.c, gcc        7.7s     6.0s     -1.7s (-22%)
  x86 defconfig, touch mm/vma.c, clang      6.9s     5.4s     -1.5s (-21%)
  x86 defconfig, clean, gcc                28.2s    26.3s     -1.8s (-6%)
  x86 defconfig, clean, clang              28.7s    27.2s     -1.5s (-5%)
  x86 allmodconfig, touch mm/vma.c, gcc    23.7s    15.4s     -8.3s (-35%)
  x86 allmodconfig, touch mm/vma.c, clang  22.5s    15.6s     -7.0s (-31%)
  x86 allmodconfig, clean, gcc            294.1s   278.6s     -15.5s (-5%)
  x86 allmodconfig, clean, clang          283.9s   266.8s     -17.1s (-6%)

Suggested-by: Kees Cook &lt;kees@kernel.org&gt;
Link: https://zlib.net/pigz/
Assisted-by: LLM
Reviewed-by: Manuel Ebner &lt;manuelebnerli@mailbox.org&gt;
Reviewed-by: Kees Cook &lt;kees@kernel.org&gt;
Signed-off-by: Lorenzo Stoakes (ARM) &lt;ljs@kernel.org&gt;
Link: https://patch.msgid.link/20260923-build-speedup-v4-22-73128809a4a4@kernel.org
Signed-off-by: Nathan Chancellor &lt;nathan@kernel.org&gt;
</content>
</entry>
<entry>
<title>docs: changes.rst and ver_linux: sort the lists</title>
<updated>2026-03-30T16:36:11+00:00</updated>
<author>
<name>Manuel Ebner</name>
<email>manuelebner@mailbox.org</email>
</author>
<published>2026-03-25T19:48:12+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=ece7e57afd51e0b807bef5a43e2d0b1cd6e9c86f'/>
<id>urn:sha1:ece7e57afd51e0b807bef5a43e2d0b1cd6e9c86f</id>
<content type='text'>
Sort the lists of tools in both scripts/ver_linux and
Documentation/process/changes.rst into alphabetical order, facilitating
comparison between the two.

Signed-off-by: Manuel Ebner &lt;manuelebner@mailbox.org&gt;
[jc: rewrote changelog]
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20260325194811.78509-2-manuelebner@mailbox.org&gt;
</content>
</entry>
<entry>
<title>docs: changes/ver_linux: fix entries and add several tools</title>
<updated>2026-03-30T16:31:18+00:00</updated>
<author>
<name>Manuel Ebner</name>
<email>manuelebner@mailbox.org</email>
</author>
<published>2026-03-25T19:46:17+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=d8a224f519c6e7079ca3471e32c1e55fde7a2fdd'/>
<id>urn:sha1:d8a224f519c6e7079ca3471e32c1e55fde7a2fdd</id>
<content type='text'>
Some of the entries in both Documentation/process/changes.rst and
script/ver_linux were obsolete; update them to reflect the current way of
getting version information.

Many were missing altogether; add the relevant information for:

 bash, bc, bindgen, btrfs-progs, Clang, gdb,  GNU awk, GNU tar,
 GRUB, GRUB2, gtags, iptables, kmod, mcelog, mkimage, openssl,
 pahole, Python, Rust, Sphinx, squashfs-tools

Signed-off-by: Manuel Ebner &lt;manuelebner@mailbox.org&gt;
[jc: rewrote changelog]
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20260325194616.78093-2-manuelebner@mailbox.org&gt;
</content>
</entry>
<entry>
<title>Revert "scripts: ver_linux: expand and fix list"</title>
<updated>2026-03-30T16:29:54+00:00</updated>
<author>
<name>Jonathan Corbet</name>
<email>corbet@lwn.net</email>
</author>
<published>2026-03-30T16:29:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=06dbdc5da152e30fbd09b37afdca2fdec9da2165'/>
<id>urn:sha1:06dbdc5da152e30fbd09b37afdca2fdec9da2165</id>
<content type='text'>
This reverts commit 98e7b5752898f74788098bef51f53205e365ab9d.

I had not intended to apply this version of this patch; take it out and
we'll try again later.

Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>scripts: ver_linux: expand and fix list</title>
<updated>2026-03-17T14:57:58+00:00</updated>
<author>
<name>Manuel Ebner</name>
<email>manuelebner@airmail.cc</email>
</author>
<published>2026-03-11T16:54:41+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=98e7b5752898f74788098bef51f53205e365ab9d'/>
<id>urn:sha1:98e7b5752898f74788098bef51f53205e365ab9d</id>
<content type='text'>
It is a pain in the ass to compare the software versions on the running
system (scripts/ver_linux) with the minimal required versions.
Sorting both lists the same way makes side-by-side comparisons a simple task.

fix path to changes.rst

make toolnames uniform with the toolnames in Changes.rst
make version commands uniform with Changes.rst

Add missing tools in ver_linux
 bash, bc, bindgen, btrfs-progs, Clang, gdb,  GNU awk, GNU tar,
 GRUB, GRUB2, gtags, iptables, kmod, mcelog, mkimage, openssl,
 pahole, Python, Rust, Sphinx, squashfs-tools

Signed-off-by: Manuel Ebner &lt;manuelebner@airmail.cc&gt;
Message-ID: &lt;20260311165440.183672-2-manuelebner@airmail.cc&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>ver_linux: Remove checks for reiserfsprogs.</title>
<updated>2025-06-09T20:53:16+00:00</updated>
<author>
<name>Collin Funk</name>
<email>collin.funk1@gmail.com</email>
</author>
<published>2025-06-08T03:12:39+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=b143745249c00fc1807a35bdac4a7cfe01d3e351'/>
<id>urn:sha1:b143745249c00fc1807a35bdac4a7cfe01d3e351</id>
<content type='text'>
The reiserfsprogs package is no longer needed since ReiserFS was removed
in Linux 6.13.

Signed-off-by: Collin Funk &lt;collin.funk1@gmail.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Link: https://lore.kernel.org/r/4d9808b5e3a87eab41d5d0417d453800faad98b1.1749352106.git.collin.funk1@gmail.com
</content>
</entry>
<entry>
<title>Removed the oprofiled version option</title>
<updated>2021-05-03T23:23:06+00:00</updated>
<author>
<name>Bhaskar Chowdhury</name>
<email>unixbhaskar@gmail.com</email>
</author>
<published>2021-04-23T13:02:59+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=f5169f713e0c02333e770c9045a00fa54ac98220'/>
<id>urn:sha1:f5169f713e0c02333e770c9045a00fa54ac98220</id>
<content type='text'>
Removed the oprofiled version option

Signed-off-by: Bhaskar Chowdhury &lt;unixbhaskar@gmail.com&gt;
Link: https://lore.kernel.org/r/c98fa38b74bdd8ab16d35862895dac5f5a535f94.1619181632.git.unixbhaskar@gmail.com
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>ver_linux: Eliminate duplicate code in ldconfig processing logic</title>
<updated>2021-01-27T13:54:42+00:00</updated>
<author>
<name>Alexander Kapshuk</name>
<email>alexander.kapshuk@gmail.com</email>
</author>
<published>2021-01-08T11:26:26+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=afe9017901761d04a106916e02619caf0d2afbf5'/>
<id>urn:sha1:afe9017901761d04a106916e02619caf0d2afbf5</id>
<content type='text'>
The code that acquires the version strings for libc and libcpp is
identical, as is the printversion call. The only difference being the
name of the library being printed.

Refactor the code by unifying the bits that are common to both libraries.

Signed-off-by: Alexander Kapshuk &lt;alexander.kapshuk@gmail.com&gt;
Link: https://lore.kernel.org/r/20210108112626.8623-1-alexander.kapshuk@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ver_linux: Query ld cache for versions of libc/libcpp run-time</title>
<updated>2020-02-10T21:35:15+00:00</updated>
<author>
<name>Alexander Kapshuk</name>
<email>alexander.kapshuk@gmail.com</email>
</author>
<published>2020-02-09T14:00:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=ff5cd9accbc724a793904c6e401040c85be89748'/>
<id>urn:sha1:ff5cd9accbc724a793904c6e401040c85be89748</id>
<content type='text'>
Query ld cache for versions of both libc and libcpp run-time, instead
of querying /proc/self/maps for libc run-time, and ld cache for libcpp
run-time, thus reducing code size and complexity.

Signed-off-by: Alexander Kapshuk &lt;alexander.kapshuk@gmail.com&gt;
Link: https://lore.kernel.org/r/20200209140057.20181-1-alexander.kapshuk@gmail.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>scripts/ver_linux: add Bison and Flex to the checklist</title>
<updated>2019-11-11T11:10:01+00:00</updated>
<author>
<name>Bhaskar Chowdhury</name>
<email>unixbhaskar@gmail.com</email>
</author>
<published>2019-11-06T03:36:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=faade9610246e9e443068be8cb24c784e9a91f2e'/>
<id>urn:sha1:faade9610246e9e443068be8cb24c784e9a91f2e</id>
<content type='text'>
Signed-off-by: Bhaskar Chowdhury &lt;unixbhaskar@gmail.com&gt;
Acked-by: Alexander Kapshuk &lt;alexander.kapshuk@gmail.com&gt;
Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
</content>
</entry>
</feed>
