Messages in this thread | | | Date | Wed, 22 Sep 1999 16:54:51 +0300 | From | Momchil Velikov <> | Subject | Re: Linux and real device drivers |
| |
Jes Sorensen wrote: > > >>>>> "Momchil" == Momchil Velikov <velco@fadata.bg> writes: > > Momchil> Alan Cox wrote: > >> There is the jump/return overhead. There is the stack management > >> overhead There is an extra cache line touched. > > Momchil> Ok, folks, I think we are talking about "udi_pio_trans" call > Momchil> (in UDI Physical I/O Specification) and this call is surely > Momchil> not meant to perform a single I/O port or MMIO > Momchil> read/write. Instead the UDI implementation executes a large > Momchil> transaction including many reads, writes, arithmetic > Momchil> operations, branches, etc. Now, the overhead is by no means > Momchil> in the call, it's in interpreting the transaction description > Momchil> and I'd say yes, it ought to be rather big. > > No, for Gigabit Ethernet I have to do some 5-10 read/writes per packet > to PCI shared memory, however these are not all one large block and > go to different places in the PCI shared mem area. Most of this will > have to be done with multiple UDI calls, unless they came up with a > scatter/gather type list for this .... yuck.
For what I can understand from the spec, they have came up with some kind of a bytecode much more powerfull than a simple scatter/gather list. Hey, you can even store such "procedures" in a ROM on the board, and execute them no matter which processor or OS you use, something much similar to IEEE 1275's FCode.
Regards, -velco
- 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/
| |