Re: Linus rollup
From: Andrew Morton <hidden>
Date: 2003-01-29 23:02:02
Stephen Hemminger [off-list ref] wrote:
On Wed, 2003-01-29 at 02:26, Andrew Morton wrote:quoted
"David S. Miller" [off-list ref] wrote:quoted
From: Russell King [off-list ref] Date: Wed, 29 Jan 2003 09:59:49 +0000 /* This function must be called with interrupts disabled which hasn't been true for some time, and is even less true now that local IRQs don't get disabled. Does this matter... for UP? I disable local IRQs during gettimeofday() on sparc. These locks definitely need to be taken with IRQs disabled. Why isn't x86 doing that?Darned if I know. Looks like Andrea's kernel will deadlock if arch/i386/kernel/time.c:timer_interrupt() takes i8253_lock while that cpu is holding the same lock in do_slow_gettimeoffset().Rather than disabling interrupts in the i386 do_gettimeofday why not just change spin_lock(&i8253_lock) to spin_lock_irqsave in timer_pit.c
That's probably a legitimate fix, subject to audit of the other implementations of ->get_offset(). But that would be a separate patch. _all_ we are doing here is fixing and optimising the xtime_lock problems. We should seek to do that with "equivalent transformations". Fine-tuning the ia32 timer implementation is all well and good, but should not be kerfuddled with kernel-wide xtime_lock rework. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/