Deferred probe times

Federico Giovanardi <[email protected]> Fri, 23 May 2025 09:56:00 +0200
Newsgroups org.kernel.vger.linux-embedded
Message-ID <[email protected]>
Hello,

I was poking around the boot data database while I noticed that the 
deferred_probe initicalls are considered as a giant block;

There is a patch that looks never went upstream to measure them:  
https://lkml.iu.edu/1707.3/02349.html

And another one from me to print the result in the .svg.


Have a nice day
Federico
update_bootgraph_deferred_init.patch (text/x-diff, 961 B)
commit c8d97bad2987b33b2ce804805071218fd7f68bbd
Author: Federico Giovanardi <[email protected]>
Date:   Fri Oct 4 14:13:30 2024 +0200

    Update bootgraph to handle deferred initcalls

diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl
index 79c903292ae8..8057d9f474df 100755
--- a/scripts/bootgraph.pl
+++ b/scripts/bootgraph.pl
@@ -67,7 +67,8 @@ my $cyheader = 0;
 
 while (<>) {
 	my $line = $_;
-	if ($line =~ /([0-9\.]+)\] calling  ([a-zA-Z0-9\_\.]+)\+/) {
+	if ($line =~ /([0-9\.]+)\] calling  ([a-zA-Z0-9\_\.]+)\+/ or
+		$line =~ /([0-9\.]+)\] deferred probe ([a-zA-Z0-9\_\.]+) @/) {
 		my $func = $2;
 		if ($done == 0) {
 			$start{$func} = $1;
@@ -109,6 +110,12 @@ while (<>) {
 			$maxtime = $1;
 		}
 	}
+	if ($line =~ /([0-9\.]+)\] deferred probe ([a-zA-Z0-9\_\.]+).*returned/) {
+		if ($done == 0) {
+			$end{$2} = $1;
+			$maxtime = $1;
+		}
+	}
 
 	if ($line =~ /([0-9\.]+)\] async_continuing @ ([0-9]+)/) {
 		my $pid = $2;