Re: why kexec insists on syncing with recent kernels?

From: Geert Uytterhoeven
Date: Fri Feb 08 2008 - 03:53:21 EST


On Thu, 7 Feb 2008, Tomasz Chmielewski wrote:
> 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?

kexec calls device_shutdown(), so ->shutdown() will be called for all
devices.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
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/