Messages in this thread | | | Date | Mon, 16 Aug 2004 06:33:02 +0200 | From | Ingo Molnar <> | Subject | Re: [patch] voluntary-preempt-2.6.8.1-P1 |
| |
* 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();
assuming that the latencies still show up even if delimited like this. (note that this only changes the way the latency is tracked - the latency itself is still there so this isnt a fix.)
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |