Hi!
I noticed that there are special versions of the tulip driver
which support direct NIC-to-NIC transfers.
The way I understand this topic is that these drivers are
capable of letting the cards transfer packets directly to
another card via the PCI bus. This is opposite to the
normal way of copying it into kernel memory, processing
it and then writing it into the destination NIC.
I think this is a great optimization which deserves some further
investing.
So, the questions begin:
- Did anyone already invest into this topic any further? Perhaps this
could be implemented into a general driver API which transfers
the packet header into memory, computes the routing decision and
initiates the PCI transfer.
- Scheduling is very tricky here. This leads me to another
question: How is the PCI bus transfer capacity scheduled ?
Can anyone (I mean a process or the kernel which wants to transfer
a packet or disk block) just use the PCI bus and the serialization
is done by the hardware or is there a kernel queue for that?
Perhaps we need one ?
(Could some kernel maintenance person point me to the relevant
kernel source files for this ?)
- Is it physically possible to do this between PCI and ISA cards ?
My perception is that the PCI-ISA direction could be possible
with PCI bus mastering; the ISA-PCI direction seems to be
a real problem: can the southbridge turn an ISA DMA transfer into
a PCI burst transfer ?
That's why I ask in linux-kernel because of the exhaustive
hardware knowledge present here as I - you guessed it - have
no clue about the internals of PC bus systems and bridges.
Any facts, opinions, advices, pointers welcome.
Cheers,
Walter
-- Fraunhofer-Einrichtung Systeme der KommunikationstechnikWalter Zimmer Hansastraße 32 Dipl.-Inf. D-80686 München Telefon: +49(0)89-547088-40 E-Mail: walter.zimmer@esk.fhg.de Telefax: +49(0)89-547088-25 "Wer früher stirbt ist länger tot."
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:14 EST