Re: [PATCH v4] panic: keep blinking in spite of long spin timermode

From: Andrew Morton
Date: Tue Jun 22 2010 - 16:18:09 EST


On Mon, 21 Jun 2010 07:52:24 +0900
TAMUKI Shoichi <tamuki@xxxxxxxxxxx> wrote:

> To keep panic_timeout accuracy when running under a hypervisor, the
> current implementation only spins on long time (1 second) calls to
> mdelay. That brings a good effect, but the problem is the keyboard
> LEDs don't blink at all on that situation.
>
> This patch changes to call to panic_blink_enter() between every mdelay
> and keeps blinking in spite of long spin timer mode.
>
> The time to call to mdelay is now 100ms. Even this change will keep
> panic_timeout accuracy enough when running under a hypervisor.
>

Thaks for sticking with it - I think the code's a lot better now. Are
you happy with it?

> ---
> Changes since v3:
> - get rid of CONFIG_PANIC_LONGSPIN_TIMER kernel config option
>
> Documentation/kernel-parameters.txt | 3 -
> arch/arm/mach-s3c2440/mach-gta02.c | 17 ++-----
> drivers/input/serio/i8042.c | 25 ++---------
> include/linux/kernel.h | 2
> kernel/panic.c | 58 +++++++++++---------------
> 5 files changed, 37 insertions(+), 68 deletions(-)

And isn't that a nice sight.

> --- a/drivers/input/serio/i8042.c
> +++ b/drivers/input/serio/i8042.c

Dmitry, I think drivers/input/serio/i8042.c is buggy. It does

panic_blink = NULL;

as the very last thing on module exit. However it surely should do
this at least at the _start_ of i8042_exit() and I suspect it really
should be doing this at the start of i8042_shutdown()?

As things stand, a well-timed panic will end up trying to flash LEDs
via hardware which has been "shut down".

--
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/