* [parisc-linux] travel backwards in time?
@ 2001-10-18 20:21 ` Randolph Chung
2001-10-18 23:23 ` Paul Bame
2001-11-29 18:58 ` Grant Grundler
0 siblings, 2 replies; 5+ messages in thread
From: Randolph Chung @ 2001-10-18 20:21 UTC (permalink / raw)
To: parisc-linux
Recently Grant and I have observed several hangs in do_gettimeofday on a
c3k running 32 or 64-bit kernels (UP).
The symptom we see is gettimeoffset returns a negative number which
results in a huge (unsigned) usec offset in do_gettimeofday, which ends
up spinning in a while loop.
On further investigation we found this piece of code that we don't
quite understand in the gettimeoffset function:
/* this is the intended time of the next tick */
last_tick = cpu_data[smp_processor_id()].it_value;
/* so subtract one tick */
/* and account for possible difference between wall and actual time */
last_tick += clocktick * (jiffies - wall_jiffies - 1);
The last_tick adjustment looks a bit odd. Looking at ia64, it looks more
like this:
last_tick -= clocktick * (jiffies - wall_jiffies + 1);
I tried this and couldn't reproduce the hangs anymore, but am not sure
if this is the right fix.
jsm suggested we try an experiment to disable interrupts in the
timer_interrupt handler. I tried that yesterday (add a __cli() call) and
it didn't seem to fix the hangs.
Can someone more familiar with that part of the code (pb?) please comment?
randolph
--
@..@ http://www.TauSq.org/
(----)
( >__< )
^^ ~~ ^^
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [parisc-linux] travel backwards in time?
2001-10-18 20:21 ` [parisc-linux] travel backwards in time? Randolph Chung
@ 2001-10-18 23:23 ` Paul Bame
2001-11-29 18:58 ` Grant Grundler
1 sibling, 0 replies; 5+ messages in thread
From: Paul Bame @ 2001-10-18 23:23 UTC (permalink / raw)
To: Randolph Chung; +Cc: parisc-linux
>
> Can someone more familiar with that part of the code (pb?) please comment?
>
I never had lots of confidence in that code even though I introduced it
by distilling other archs -- and dimly recall not being able to use
ia64 for some reason, or maybe I'm remembering wrong. I never felt
I completely understood the interaction with the sometimes-missed
timer interrupt and arch-independent timer handling, and some of the
other archs seemed to be unexpectedly different from each other.
How's that for a useless comment?! :-)
-P
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [parisc-linux] travel backwards in time?
2001-10-18 20:21 ` [parisc-linux] travel backwards in time? Randolph Chung
2001-10-18 23:23 ` Paul Bame
@ 2001-11-29 18:58 ` Grant Grundler
1 sibling, 0 replies; 5+ messages in thread
From: Grant Grundler @ 2001-11-29 18:58 UTC (permalink / raw)
To: parisc-linux
Randolph Chung wrote:
> Recently Grant and I have observed several hangs in do_gettimeofday on a
> c3k running 32 or 64-bit kernels (UP).
>
> The symptom we see is gettimeoffset returns a negative number which
> results in a huge (unsigned) usec offset in do_gettimeofday, which ends
> up spinning in a while loop.
...
> The last_tick adjustment looks a bit odd. Looking at ia64, it looks more
> like this:
>
> last_tick -= clocktick * (jiffies - wall_jiffies + 1);
For the record, this fix was committed in one of the 2.4.14-pa5
http://lists.parisc-linux.org/pipermail/parisc-linux-cvs/2001-November/030021.html
I'm still not 100% certain all our time keeping code is correct.
But I'm comfortable this patch fixes the problem we saw and
does not introduce any new ones.
grant
^ permalink raw reply [flat|nested] 5+ messages in thread
* [parisc-linux] 2.4.16-pa12 broken on c3000
@ 2001-12-04 7:17 ` Randolph Chung
2001-12-05 17:45 ` Grant Grundler
0 siblings, 1 reply; 5+ messages in thread
From: Randolph Chung @ 2001-12-04 7:17 UTC (permalink / raw)
To: parisc-linux
Looks like -pa12 enabled some #if 0 code in arch/parisc/mm/init.c that
is causing things to die. Both Grant and I saw ifconfig abort when
the free_initmem code was enabled. Reverting back to 1.43 worked for
me...
Looks like Helge checked that in.. Helge, can you please take a look?
Soft power is very cool though! :-)
thanks,
randolph
--
@..@ http://www.TauSq.org/
(----)
( >__< )
^^ ~~ ^^
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [parisc-linux] 2.4.16-pa12 broken on c3000
2001-12-04 7:17 ` [parisc-linux] 2.4.16-pa12 broken on c3000 Randolph Chung
@ 2001-12-05 17:45 ` Grant Grundler
0 siblings, 0 replies; 5+ messages in thread
From: Grant Grundler @ 2001-12-05 17:45 UTC (permalink / raw)
To: parisc-linux
[ old news - cleaning out my inbox ]
Randolph Chung wrote:
> Looks like -pa12 enabled some #if 0 code in arch/parisc/mm/init.c that
> is causing things to die. Both Grant and I saw ifconfig abort when
> the free_initmem code was enabled. Reverting back to 1.43 worked for
> me...
Fixed. my bad. removed __init in PCI config space code path.
FYI, IOAQ pointed at the culprit: lba_device_present()
Should make debugging this kind of problem easy.
grant
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2001-12-05 17:49 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <randolph@tausq.org>
2001-10-18 20:21 ` [parisc-linux] travel backwards in time? Randolph Chung
2001-10-18 23:23 ` Paul Bame
2001-11-29 18:58 ` Grant Grundler
2001-12-04 7:17 ` [parisc-linux] 2.4.16-pa12 broken on c3000 Randolph Chung
2001-12-05 17:45 ` Grant Grundler
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.