Thread (14 messages) flat view 14 messages, 5 authors, 2011-09-27

[RFC PATCH 2/3] bootstage: Insert bootstage_mark to record timing for bootup.

From: bhelgaas@google.com (Bjorn Helgaas)
Date: 2011-09-25 12:59:52
Also in: lkml

On Fri, Sep 23, 2011 at 5:03 PM, Simon Glass [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Da Zheng <redacted>

From: Da Zheng <redacted>

This inserts calls to bootstage_mark() to timestamp the kernel moving
between the different initcall levels.

Signed-off-by: Da Zheng <redacted>
---
?init/bootstage.c | ? 49 +++++++++++++++++++++++++++++++++++++++++++++++++
?init/main.c ? ? ?| ? ?7 +++++++
?2 files changed, 56 insertions(+), 0 deletions(-)
diff --git a/init/bootstage.c b/init/bootstage.c
index 79e9761..6f4668f 100644
--- a/init/bootstage.c
+++ b/init/bootstage.c
@@ -226,3 +226,52 @@ static int __init bootstage_init(void)
?}

?postcore_initcall(bootstage_init);
+
+static int __init post_core_initcall(void)
+{
+ ? ? ? bootstage_mark("core_initcall");
+ ? ? ? return 0;
+}
+core_initcall_sync(post_core_initcall);
I'm sure you considered just instrumenting do_one_initcall() rather
than adding these individual initcall marks?  That would get you a lot
more timestamps (maybe too many), and would help identify individual
drivers, which I suspect will be common offenders.

Bjorn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help