]> git.ipfire.org Git - thirdparty/linux.git/commit
kconfig: convert linked list of files to hash table
authorMasahiro Yamada <masahiroy@kernel.org>
Fri, 2 Feb 2024 15:58:23 +0000 (00:58 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 20 Feb 2024 11:44:48 +0000 (20:44 +0900)
commit980c9e198f1c5563380bed2a2672e592edf9efaa
treeacfbc1a77936e2d727dc8930b71ed4821ea21941
parent7c4aa901bd9d7e95be95a5c888d026b3214bae05
kconfig: convert linked list of files to hash table

Currently, a linked list is used to keep track of all the Kconfig
files that have ever been parsed. Every time the "source" statement
is encountered, the linked list is traversed to check if the file has
been opened before. This prevents the same file from being recorded
in include/config/auto.conf.cmd again.

Given 1500+ Kconfig files parsed, a hashtable is now a more optimal
data structure.

By the way, you may wonder why we check this in the first place.
It matters only when the same file is included multiple times.
In old days, such a use case was forbidden, but commit f094f8a1b273
("kconfig: allow multiple inclusion of the same file") provided a bit
more flexibility. Of course, it is almost hypothetical...

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/kconfig/util.c