Re: udelay and timers

From: Elias Oltmanns
Date: Sun Sep 28 2008 - 04:57:13 EST


[Apologies for the delayed response, I have just temporary internet
access right now.]

Thomas Gleixner <tglx@xxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/