Linux kernel boot process
From: Sannu K <hidden>
Date: 2012-08-04 16:14:38
On Sat, Aug 4, 2012 at 9:33 PM, Kristof Provost [off-list ref] wrote:
On 2012-08-04 21:15:15 (+0530), Sannu K [off-list ref] wrote:quoted
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.
Sure I will take a look.
quoted
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.quoted
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.
That's a new info I have got :)
Regards, Kristof
Thanks, Sannu K