Thread (9 messages) 9 messages, 3 authors, 2012-08-04

Linux kernel boot process

From: Kristof Provost <hidden>
Date: 2012-08-04 16:03:40

On 2012-08-04 21:15:15 (+0530), Sannu K [off-list ref] wrote:
Is it possible to determine the reason for more time in hibernation
compared to windows (or profile the resume time)? If possible I could
do it in my machine and get some info which may be useful. Some one
may jump to solve this (or there may be some magic tweak to get a
better resume time) once it is profiled.
Possibly. I haven't looked at the details of the Linux hibernation
subsystem. Take a look at Documentation/power/basic-pm-debugging.txt for
a basic introduction.
quoted
quoted
Why should all the drivers be started again? Just we can load
the disk driver and some essential part of the kernel, disk driver (or
only few drivers necessary for reading the hibernate image) and use
the drivers stored in the disk (from hibernation image) for rest of
the devices.
When resuming from hibernation all devices were powered down. The kernel
needs to run through all of the initialisation code again. It needs to
upload firmware, set configuration registers, ...
That makes sense. Does that mean during hibernation the state of
drivers will not be preserved? 
That's correct.
Will the driver code be discarded
without saving in hibernation image (as we are starting the driver
again while resuming)?
Again, I'm not an expert, but I see no reason to preserve the driver
state (or perhaps even the rest of the kernel state). I believe the
kernel doesn't even distinguish between a normal boot and a resume from
hibernation until just before it starts userspace.

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