Subject: Re: ethernet card performance and support
To: None <kenh@entropic.com>
From: Charles M. Hannum <mycroft@ai.mit.edu>
List: port-i386
Date: 01/28/1995 03:06:51
   >> BTW:  I'd still be interested to know whether there would be problems
   >> using an ISA bus mastering card in a >16 MB machine, if anyone can
   >> enlighten me.
   >AFAIK, and I have no contact with the core team, bounce buffers for DMA
   >transfers over 16MB are as-yet unimplemented.  They are probably not far
   >away, but this is a guess (EISA might come first :)).

   Actually ... will there be a problem?  I was under the impression that mbufs
   (the buffers used by the networking code) are allocated at boot time, and thus
   would probably all be below the 16Mb line.  If that's not the case, you could
   hack your mbuf allocator so it didn't allocate buffers above 16Mb (it's harder
   to do this for disk controllers, since you sometimes want to do DMA directly
   into the user's address space).

You're assuming that DMA is done directly to and from mbufs.
Currently it isn't.  It's also not clear how much of a performance win
it would be to do so.

The ethernet cards fall into three varieties:

* ISA cards with their own memory, that the CPU talks to through the
`I/O hole'.  These are not a problem.

* ISA cards that DMA to the CPU's memory.  These are currently ignored
because it's assumed that the memory the driver allocates at boot time
is within the lower 16MB.  This isn't a very good assumption, and will
change at some point.

* EISA, VLB, and PCI cards, for which the 24-bit limit is not
relevant.