why kexec insists on syncing with recent kernels?

From: Tomasz Chmielewski
Date: Thu Feb 07 2008 - 09:13:52 EST


According to kernel/kexec.c:

* kexec does not sync, or unmount filesystems so if you need
* that to happen you need to do that yourself.


I saw this was true with 2.6.18 kernel (i.e., it didn't sync), but kexec syncs with recent kernels (I checked 2.6.23.14 and 2.6.24):

# kexec -e
md: stopping all md devices
sd 2:0:0:0: [sdb] Synchronizing SCSI cache


With kexec on 2.6.18 it was executing a loaded kernel immediately.


Generally, it's a good thing to sync before jumping into a new kernel, but it breaks my setup here after upgrading from 2.6.18 to 2.6.24.

Why?

I have a couple of diskless (iSCSI-boot) machines with a buggy BIOS (old Supermicro P4SBR/P4SBE) which randomly freeze after rebooting (the machine shuts down just fine, but instead of booting again, showing BIOS bootup messages etc. you can just see blank screen).

Therefore, I use kexec as a workaround for this rebooting problem.

The way kexec works now makes rebooting unreliable again:
- network interfaces are brought down,
- kernel tries to sync - it never will, as we're booted off network, which is down

Any ideas why kexec insists on syncing?


--
Tomasz Chmielewski
http://blog.wpkg.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/