lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BFB0C77.2030904@am.sony.com>
Date:	Mon, 24 May 2010 16:32:07 -0700
From:	Tim Bird <tim.bird@...sony.com>
To:	Iram Shahzad <iram.shahzad@...fujitsu.com>
CC:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: FUNCTION_TRACER: can it be used to trace early bootup functions

On 05/23/2010 11:55 PM, Iram Shahzad wrote:
> Hi
> 
> I would like to know whether the Kernel Function Tracer
> (kernel/trace/trace_functions) be used to trace early kernel
> bootup functions starting from start_kernel?
> My arch is ARM, by the way.
>
> 
> I have done some trials but it doesn't seem to trace early
> bootup functions. I even made it the default tracer replacing
> the nop tracer, but still it doesn't give me trace from
> start_kernel.
> 
> Looking at the source code, it seems to me that it starts
> recording data only after its own initialization. So does it
> mean that by design it does not support early tracing?
By design, the trace code is initialized during
initcall processing.  This means you miss all initialization
up to this point in the kernel.

Measuring this on my own ARM platforms, I have found that
this results in missing about the first 50 milliseconds
of kernel initialization (from start_kernel() to the
tracer initialization).  For me, this is not a big
problem.  Note that you can't measure the period
of time from start_kernel() to whenever the ARM memory
and clocks are initialized.

IMHO the best way to measure stuff between the end
of bootloader and tracer initialization is with an
external tracer, like http://elinux.org/Grabserial
and using CONFIG_DEBUG_LL, and your own calls to
printascii() on ARM.
 -- Tim

=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Network Entertainment
=============================

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ