Hi, > We use a 8250 and 8270 of which the performance is highly limited by the > bandwidth of the memory to the very small internal cache. > I once modified a driver into a "polling" method polling the device > every millisecond. The amount of messages processed trippled this way! > On full speed the console could even be used for "normal" operation (in > contrairy to the interrupt driver driver). > The penalties are obvious: When the bandwith used is low the delay for > polled messages is higher and the CPU overhead is higher.
Just look at the NAPI[1] (New-NAPI in the latest incarnation) linux layer for network drivers. The upshot of this is that where "old" drivers pull data from the network card onto the kernel network backlog on interrupt time, NAPI drivers only set an internal flag so they want to get polled by the kernel when it is ready and basically disable further interrupts. They are enabled again by the time the driver was able to post all packets up to the network stack. This effectively gives low latencies on low network load because it more or less stays being interrupt driven but it turns into polling mode on high network loads and thus prevents interrupt live lock situations. Adapting the network driver in question to NNAPI should improve the performance of the whole system quite a bit. Best wishes Detlev [1] http://www.linux-foundation.org/en/Net:NAPI -- Indeed, the author firmly believes that the best serious work is also good fun. We needn't apologize if we enjoy doing research. -- Donald Knuth -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED] _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded