Re: [patch] voluntary-preempt-2.6.8.1-P1

Lee Revell
2004-08-16T05:06:59Z

On Mon, 2004-08-16 at 00:33, Ingo Molnar wrote:
> * Lee Revell <rlrevell@joe-job.com> wrote:
>
> > > > Anyway, the change to sched.c fixes the mlockall bug, it works
> > > > perfectly now. Thanks!
> > >
> > > great! This fix also means that we've got one more lock-break in the
> > > ext3 journalling code and one more lock-break in dcache.c. I've released
> > > -P1 with the fix included:
> > >
> > > http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8.1-P1
> > >
> >
> > The highest latency I am seeing now is the rhine_check_duplex problem.
> > Should I try making mdio_delay an NOOP?
>
> there's no mdio_delay() in via-rhine.c AFAICS. Could you add a pair of
> touch-latency calls to around this code in mdio_read():
>
> + touch_preempt_timing();
> /* Wait for a previous command to complete. */
> while ((readb(ioaddr + MIICmd) & 0x60) && --boguscnt > 0)
> + touch_preempt_timing();
>
> i suspect it's this one that introduces the biggest delay. Also:
>
> + touch_preempt_timing();
> while ((readb(ioaddr + MIICmd) & 0x40) && --boguscnt > 0)
> ;
> + touch_preempt_timing();
>

Just to clarify, the touch_preempt_timing should be after, not inside
the while loop in both cases, right?

Lee