Re: some thoughts about TSC based delay_tsc()

From: Ingo Molnar
Date: Wed Nov 21 2007 - 15:10:29 EST



* Marin Mitov <mitov@xxxxxxxxxxx> wrote:

> On Wednesday 21 November 2007 09:27:54 pm you wrote:
> > * Marin Mitov <mitov@xxxxxxxxxxx> wrote:
> > > Hi Ingo,
> > >
> > > The patch is quite good ;-) but we forget when it is needed :-( In
> > > fact we need it only for PREEMPT SMP kernels - it could hurt
> > > PREEMPT UP kernels (no migration possible), so no need for
> > > preempt_disable()/preempt_enable().
> > >
> > > In short the old version of delay_tsc() is good for UP kernels and
> > > NON PREEMPT SMP kernels too.
> >
> > please reply to the public list, so that discussions do not get lost.
> >
> > i dont think there's any problem: udelay() is about _wasting_ cycles -
> > it's what drivers use for short delays.
>
> Sure for the thread executing udelay(), but not for the other ready
> threads which should also wait till preempt_enable() to grab the same
> cpu even for PREEMPT (UP or SMP) kernels (or I misunderstand
> something?).

on non-PREEMPT kernels there's no real difference between old and and
new code because the kernel is not preemptible. So we can use the new
code unconditionally.

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