2.2.11 and tulip.c issues
Robert G. Brown
rgb@phy.duke.edu
Fri Aug 20 11:19:05 1999
On Fri, 20 Aug 1999, Donald Becker wrote:
> On Thu, 19 Aug 1999, Aron Griffis wrote:
>
> > On Thu, 19 Aug 1999, Robert G. Brown wrote:
> > > Unfortunately, if the ioport doesn't shift I'm going to guess that the
> > > patch doesn't help. Its beginning to sound more like some kernel
> > > resource is overlapping -- perhaps a memory-mapped region? -- with the
> ...
> > Thanks for the attention to the problem, Robert. I consulted with the
> > guy here that wrote the tulip driver for Tru64, and he made some
> > recommendations, none of which changed the behavior I'd been seeing.
>
> The current Tulip driver uses I/O space accesses to registers. I've known
> for a while that using memory space would produce better code on machines
> like the Alpha and PPC that don't have native I/O space instructions.
>
> It turns out that using memory space results in dramatically better performance
> on certain x86 SMP machines as well. The trivial single processor performance
> improvement is multiplied because the tiny number of I/O writes occur in
> locked critical regions. Using memory space allows the writes to "complete"
> into the write buffer immediately, instead of waiting until the PCI bus
> transaction has finished.
>
> I have a test version of the Tulip driver that uses memory operations.
> This might fix the problem above, and will likely avoid the need for
> udelay(2) on the PNIC to work around the write-buffer-delay bug.
This sounds good. If you give me a URL I'd be happy to give it a spin
here. I'm probably just going to be "playing" compared to the rigorous
testing sequence you describe below, but maybe I can break something
with it, you never know;-). I'll probably be playing anyway...
rgb
Robert G. Brown http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb@phy.duke.edu