Resuming from a crashdump
Matthew Dillon
dillon at apollo.backplane.com
Tue Jan 25 11:48:59 PST 2005
Well, I don't want do disuade you from trying, but I think you are
seriously underestimating the effort required to restore device state.
You basically would either have to make all device drivers support a new
hibernation/restore API (because it is not really possible to restore
a device driver based on a dump), or you would need to implement some
higher level utility code (e.g. scripts and such) to try to record and
restore the state at a higher level, such as for network interfaces,
and not allow any restored processes to run until that's done. Either
way it would get messy very quickly.
Also, if the machine has a lot of memory it could take longer to save
and restore then to reboot from scratch. A typical laptop HD is
~30 MB/sec. If your laptop has 512MB then it would take 16 seconds
to go into hibernation mode, and 16 seconds to come out of, plus BIOS
and loader overhead.
I think it would probably be more realistic to persue a process
save/restore rather then a kernel save/restore. The overhead is going
to be the disk I/O anyway and that seems to be about the same either
way (maybe less for a process restore), plus you can at least demand-load
the process restore.
-Matt
More information about the freebsd-hackers
mailing list