Re: [PATCH] ia64: disable preemption in udelay()

From: Keith Owens
Date: Thu Dec 22 2005 - 19:14:01 EST


On Thu, 22 Dec 2005 16:45:08 -0500,
Bill Davidsen <davidsen@xxxxxxx> wrote:
>Lee Revell wrote:
>> On Thu, 2005-12-15 at 18:12 -0800, John Hawkes wrote:
>>
>>>From: "Lee Revell" <rlrevell@xxxxxxxxxxx>
>>>
>>>>There are 10 drivers that udelay(10000) or more and a TON that
>>>>udelay(1000). Turning those all into 1ms+ non preemptible sections will
>>>>be very bad.
>>>
>>>What about 100usec non-preemptible sections?
>>
>>
>> That will disappear into the noise, in normal usage these happen all the
>> time. 500usec non preemptible regions are rare (~1 hour to show up) and
>> 1ms very rare (24 hours). My tests show that 300 usec or so is a good
>> place to draw the line if you don't want it to show up in latency tests.
>
>I may be misreading the original post, but the problem is described as
>one where the TSC is not syncronised and a CPU switch takes place. Would
>the correct solution be to somehow set CPU affinity temporarily in such
>a way as to avoid disabling preempt at all?
>
>The preempt doesn't seem to be the root problem, so it's unlikely to be
>the best solution...

Agreed. See [RFC] Add thread_info flag for "no cpu migration"[1] on
lkml. It got no response.

[1] http://marc.theaimsgroup.com/?l=linux-kernel&m=113471059115107&w=2

-
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/