Messages in this thread | | | Date | Tue, 25 Aug 1998 20:51:06 +0200 (CEST) | From | Geert Uytterhoeven <> | Subject | RE: L68K: Re: IDE-Driver Update :: Testing Requested |
| |
On Tue, 25 Aug 1998, Michael Schmitz wrote: > >> >[ Moving the discussion to linux-kernel. > >> > >> Forgot to CC: there. > > > >Deliberately? > > Nah - just hit return too fast on the cc: line (I have to fill cc: manually each > time).
Have you already fwd'd the missing messages? Or should I do that.
> >> >Add more debugging code, to remember when the last request was posted. I don't > >> >have the log here (forgot to save it after reboot[*]), but here are the facts: > >> > > >> > - at jiffies = 18779, set_handler() calls add_timer() with an expiration > >> > time of 19779 (i.e. jiffies+10*HZ) > >> > - ide_timer_expiry() is called at jiffies = 18779 (i.e. immediately), while > >> > hwgroup->timer.expires still contains 19779 (i.e. future) > >> > > >> >So ide_timer_expiry() is called before the timer expires. > > Can you add code to ide_timer_expiry to check for that case, and just restart the > timeout? Just to make sure this would fix the IDE behaviour and to get more stats > on the problem (how often, making sure it's not a jiffy overflow thing though that > didn't seem likely, check that IDE doesn't hang later for another reason, does it > only happen when copying a -> b?).
It's not that trivial, since I think the timer stuff is completely messed up, cfr. the irq timout/ide reset message storm.
I added a test for jiffies < hwgroup->timer.expires at the top of ide_timer_expiry(). If positive, I do printk and just leave the function, hoping that things will go on correctly. Unfortunately they don't. Sometimes it gets stuck on the first case, in other cases it dumps a lot of messages and hangs.
Anyway, it's clear that timer functions are called before they have expired. I'll dive into the timer code.
Greetings,
Geert
-- Geert Uytterhoeven Geert.Uytterhoeven@cs.kuleuven.ac.be Wavelets, Linux/{m68k~Amiga,PPC~CHRP} http://www.cs.kuleuven.ac.be/~geert/ Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |