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

From: Jiri Bohac
Date: Wed Feb 17 2010 - 11:05:30 EST


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 <jbohac@xxxxxxx>
SUSE Labs, SUSE CZ

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