Thread (25 messages) 25 messages, 9 authors, 2003-01-30

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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help