2010-02-17 16:05:26

by Jiri Bohac

[permalink] [raw]
Subject: Re: [PATCH] x86 apic: Ack all pending irqs when crashed/on kexec

On Tue, Feb 16, 2010 at 11:03:10PM +0100, Thomas Renninger wrote:
> with MAX_LOOPS something like 1E9 this would leave plenty of time for the
> pending IRQs to be cleared and would and still cause at most a second of delay
> if the loop were to lock-up for whatever reason.
...
> + int i, j, acked = 0, max_loops = 0x1E9;

I meant 1E9 == 1000000, not 0x1E9, just to give the kernel a
chance to boot (with a delay) if something is completely wrong.
0x1E9 might be too small.

I also think a warning should be printed in case max_loops decreases to
zero:

> + max_loops--;
> + } while (queued && max_loops > 0);

+ WARN_ON(!max_loops)

Thanks,

--
Jiri Bohac <[email protected]>
SUSE Labs, SUSE CZ