[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121012164221.GN12567@gmail.com>
Date: Fri, 12 Oct 2012 17:42:21 +0100
From: Lee Jones <lee.jones@...aro.org>
To: Dan Murphy <dmurphy@...com>
Cc: Arnd Bergmann <arnd@...db.de>,
Russell King - ARM Linux <linux@....linux.org.uk>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Nishanth Menon <nm@...com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linus.walleij@...ricsson.com,
Jonas Aaberg <jonas.aberg@...ricsson.com>,
Will Deacon <will.deacon@....com>,
Mian Yousaf Kaukab <mian.yousaf.kaukab@...ricsson.com>
Subject: Re: [PATCH] Boottime: A tool for automatic measurement of
kernel/bootloader boot time
On Fri, 12 Oct 2012, Dan Murphy wrote:
>
> On 10/12/2012 09:01 AM, Lee Jones wrote:
> >On Fri, 12 Oct 2012, Arnd Bergmann wrote:
> >
> >>On Friday 12 October 2012, Russell King - ARM Linux wrote:
> >>>>root@ME:/ cat /sys/kernel/debug/boottime/bootgraph
> >>>>[ 0.185254] calling splash+0x0/0x0
> >>>>[ 2.984335] initcall splash+0x0/0x0 returned 0 after 2799 msecs.
> >>>>[ 2.984335] calling autoboot_delay+0x0/0x0
> >>>>[ 4.089513] initcall autoboot_delay+0x0/0x0 returned 0 after 1105 msecs.
> >>>>[ 4.089513] calling load_kernel+0x0/0x0
> >>>>[ 4.239174] initcall load_kernel+0x0/0x0 returned 0 after 149 msecs.
> >>>>[ 4.239174] calling boot_kernel+0x0/0x0
> >>>>[ 4.276260] initcall boot_kernel+0x0/0x0 returned 0 after 37 msecs.
> >>>>[ 4.276260] calling uncompress_ll_init+0x0/0x0
> >>>>[ 4.276260] initcall uncompress_ll_init+0x0/0x0 returned 0 after 0 msecs.
> >>>>[ 4.276260] Freeing init memory: 0K
> >>>Umm, what happened to sysfs not becoming procfs v2? I thought we had
> >>>a fairly strict requirement for "one value per file and not nicely
> >>>formatted" for sysfs?
> >>>
> >>I was thinking the same thing at first, but then I noticed it's actually
> >>debugfs, which has no such rules.
> >Right. :)
> >
> OK I don't see when boottime_activate is called.
>
> Where would this call actually be made from?
>
> I see the call to deactivate but no call to activate.
Here perhaps (Jonas, alerted me to the missing patch):
commit 4c49a18bcfd2d041cbad7f41c6e6b39d90008382 (HEAD, refs/heads/dt-snowball-pre-rc1)
Author: Jonas Aaberg <jonas.aberg@...ricsson.com>
Date: Wed Sep 14 09:29:20 2011 +0200
drivers: clocksource: dbx500-prcmu: Add boottime support
Change-Id: I9b5e3d050131c08c08786ae84cb76619c0525049
Signed-off-by: Jonas Aaberg <jonas.aberg@...ricsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32055
diff --git a/drivers/clocksource/clksrc-dbx500-prcmu.c b/drivers/clocksource/clksrc-dbx500-prcmu.c
index c26c369..0069cd9 100644
--- a/drivers/clocksource/clksrc-dbx500-prcmu.c
+++ b/drivers/clocksource/clksrc-dbx500-prcmu.c
@@ -14,6 +14,7 @@
*/
#include <linux/clockchips.h>
#include <linux/clksrc-dbx500-prcmu.h>
+#include <linux/boottime.h>
#include <asm/sched_clock.h>
@@ -68,6 +69,23 @@ static u32 notrace dbx500_prcmu_sched_clock_read(void)
#endif
+#ifdef CONFIG_BOOTTIME
+static unsigned long __init boottime_get_time(void)
+{
+ return div_s64(clocksource_cyc2ns(clocksource_dbx500_prcmu.read(
+ &clocksource_dbx500_prcmu),
+ clocksource_dbx500_prcmu.mult,
+ clocksource_dbx500_prcmu.shift),
+ 1000);
+}
+
+static struct boottime_timer __initdata boottime_timer = {
+ .init = NULL,
+ .get_time = boottime_get_time,
+ .finalize = NULL,
+};
+#endif
+
void __init clksrc_dbx500_prcmu_init(void __iomem *base)
{
clksrc_dbx500_timer_base = base;
@@ -90,4 +108,6 @@ void __init clksrc_dbx500_prcmu_init(void __iomem *base)
32, RATE_32K);
#endif
clocksource_register_hz(&clocksource_dbx500_prcmu, RATE_32K);
+
+ boottime_activate(&boottime_timer);
}
--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists