Messages in this thread | | | From | Elias Oltmanns <> | Subject | Re: udelay and timers | Date | Sun, 28 Sep 2008 10:55:22 +0200 |
| |
[Apologies for the delayed response, I have just temporary internet access right now.]
Thomas Gleixner <tglx@linutronix.de> wrote: > On Fri, 26 Sep 2008, Elias Oltmanns wrote: > >> Hi all, >> >> finally, I have managed to identify the cause of some odd symptoms on my >> system, but I need your help to understand what is really going on and >> what should be done to fix things. My problem is this: I have written a >> small test module which, in due course, does the following: [...] >> Now, I can observe that because of the call to udelay() in the callback >> of timera, timerb rather frequently fires *much* too early, i.e. after >> less than 1 msec rather than 20 msecs. This means that an udelay in a >> timer callback heavily affects the precision of other timers running at >> the time. The effect if particularly grave on a tickless system, but >> even when NO_HZ was not set, I have observed this behaviour. >> >> As I understand, udelay() is meant to be usable in softirq context. What >> can I do to find out what exactly causes the problem? > > I have no idea what's going wrong. Can you please provide the full > source of your test module ?
Even though I still don't understand exactly what is going on myself, I have, after some more testing, come to the conclusion that the ath5k driver is to blame for messing up softirq handling. I have to talk to the wireless people in order to get this sorted out. Sorry for the noise.
Regards,
Elias
| |