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

Bill Davidsen
2005-12-22T21:45:08Z

Lee Revell wrote:
> On Thu, 2005-12-15 at 18:12 -0800, John Hawkes wrote:
>
>>From: "Lee Revell" <rlrevell@joe-job.com>
>>
>>>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...

--
-bill davidsen (davidsen@tmr.com)
"The secret to procrastination is to put things off until the
last possible moment - but no longer" -me