Re: NE2000 slow interrupts safe?

MOLNAR Ingo (mingo@chiara.csoma.elte.hu)
Sun, 19 Apr 1998 19:04:00 +0200 (CEST)


On Sun, 19 Apr 1998, Richard B. Johnson wrote:

> > Sigh. I don't think this is a significant factor, however, I've just
> > run another series of tests where I disable interrupts in
> > ne_block_input() and I get times ranging from 0.5 to 1 millisecond
> > (for largish packets). This is with my PCI NE2000 card on a dual PPro.
>
> I mentioned before that your 'printer' port can be a valuable tool.

ktrace can be used too, you can 'record' system traces and analyze them
later, accuracy of timestamps is 0.1 usecs or better. Eg:

36984 c010b467 do_IRQ +<13/108> (3.73)
36985 c5867177 _end +<555b35f/3fcf41e7> (4.93)
36986 c01b9221 add_mouse_randomness +<d/28> (0.49)
36987 c01b904b add_timer_randomness +<13/1b4> (2.83)
36988 c011147b wake_up_interruptible +<13/a0> (1.10)
36989 c011147b wake_up_interruptible +<13/a0> (2.61)
36990 c010b539 do_IRQ +<e5/108> (0.06)
36991 c010b551 do_IRQ +<fd/108> (0.63)
36992 c01111c7 schedule +<13/218> (5.83)
^- timestamp ^- function entry ^-- latency in usecs

shows that the timer IRQ had a latency of ~16 usecs until it got the the
schedule() call. I'm sure those 2-4 msecs interrupts can be debugged with
ktrace as well. One can even turn tracing on/off for certain interrupts,
etc.

Keith Owens has posted the 'memleak+ktrace+xkdebug' debugging-patchset
today, which includes a 2.1.97 (and improved) version of my ktracer as
well, you can find the package at:

ftp://ftp.ocs.com.au/pub/patch-ikd-2.1.97.gz

it has extensive documentation, a FAQ and stuff.

-- mingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu