Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

checkpatch: reduce is_maintained_obsolete lookup runtime

The is_maintained_obsolete function can be called twice using the same
filename. This function spawns a process using get_maintainer.pl.
Store the status of each filename when spawned and use the stored result
to eliminate the spawning of unnecessary duplicate child processes.

Example:

old:

$ time ./scripts/checkpatch.pl hp100-Move-to-staging.patch > /dev/null

real 0m1.767s
user 0m1.634s
sys 0m0.141s

new:

$ time ./scripts/checkpatch.pl hp100-Move-to-staging.patch > /dev/null

real 0m1.184s
user 0m1.085s
sys 0m0.103s

Link: http://lkml.kernel.org/r/b982566a2b9b4825badce36fdfc3032bd0005151.camel@perches.com
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Joe Perches and committed by
Linus Torvalds
cd28b119 d439e6a5

+6 -2
+6 -2
scripts/checkpatch.pl
··· 874 874 } 875 875 } 876 876 877 + our %maintained_status = (); 878 + 877 879 sub is_maintained_obsolete { 878 880 my ($filename) = @_; 879 881 880 882 return 0 if (!$tree || !(-e "$root/scripts/get_maintainer.pl")); 881 883 882 - my $status = `perl $root/scripts/get_maintainer.pl --status --nom --nol --nogit --nogit-fallback -f $filename 2>&1`; 884 + if (!exists($maintained_status{$filename})) { 885 + $maintained_status{$filename} = `perl $root/scripts/get_maintainer.pl --status --nom --nol --nogit --nogit-fallback -f $filename 2>&1`; 886 + } 883 887 884 - return $status =~ /obsolete/i; 888 + return $maintained_status{$filename} =~ /obsolete/i; 885 889 } 886 890 887 891 sub is_SPDX_License_valid {