NIC-to-NIC transfer and PCI bus transfer scheduling

From: Walter Zimmer (walter.zimmer@esk.fhg.de)
Date: Thu Jun 08 2000 - 08:35:51 EST


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 Kommunikationstechnik

Walter 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