ARM Machine SoC I/O setup and PAD initialization code

Robert Schwebel r.schwebel at pengutronix.de
Mon Jul 26 02:56:11 EDT 2010


On Mon, Jul 26, 2010 at 10:37:20AM +0900, Magnus Damm wrote:
> On Sat, Jul 24, 2010 at 6:03 AM, Robert Schwebel
> <r.schwebel at pengutronix.de> wrote:
> > kexec is a good idea only in theory. Last time we tried it, it
> > needed something like 6 s additional boot time. Inacceptable - we
> > bring Qt based GUI systems into the application in 6 s, and
> > automotive systems into userspace in 336 ms. Not to mention that the
> > first kernel needs to be brought up as well.
>
> I disagree with your "in theory only" stamp on kexec. I've used kexec
> for rebooting and crash dumping on i386, x86_64, ia64, ARM and SH.

That's a good usecase, I agree.

> The two presentations pointed out earlier in this thread clearly show
> how to build kexec based boot loaders which boot in one second. The
> overhead of kexec itself is almost nothing. I'm sure you can discuss
> the details of the kexec implementation with Eric Biederman if you'd
> like.

We'll re-do the tests, in order to measure some hard facts. It may turn
out that we have learned more things since we made the last numbers :)

> That aside, the 6 s number looks familiar from earlier Barebox
> presentations that I've eyed through before. When did you test it? Do
> you remember what platform and which kernel version? Are you using a
> full Gnome desktop in your boot loader? =)

On MX35 we boot a naked kernel into a custom /sbin/init application in
336 ms with barebox, starting the measurement at the first assembler
instruction which can be influenced in software.

I think it's a question of what you want to have. The 6 s boot is with:

- Barebox from NAND
- booting the kernel from NAND
- kernel config with everything built in which is needed in the system
- init based userspace
- dbus + some related services
- Qt
- system based on ipkg packages

and it is measured up to the point where the qt application is fully
operational.

> From my point of view it always makes sense to optimize the kernel
> boot up time. This because it will improve the start up time of your
> final kernel _and_ your boot loader as well if you use kexec.

Seconded. What can be done in the kernel should be done in the kernel.

rsc
-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-arm-kernel mailing list