diff options
Diffstat (limited to 'share/examples/atm/NOTES')
-rw-r--r-- | share/examples/atm/NOTES | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/share/examples/atm/NOTES b/share/examples/atm/NOTES new file mode 100644 index 0000000..6317188 --- /dev/null +++ b/share/examples/atm/NOTES @@ -0,0 +1,54 @@ + + HARP Notes + 1998-09-14 + +This is a list of currently known incompatibilities and miscellaneous gotchas +in HARP. + +To report new items, please send mail to harp-bugs@magic.net. + +================================================================================ + + +Efficient Driver and DMA sizes +============================== + +The Efficient adapter moves PDUs between host memory and adapter memory with +the help of DMA descriptor lists. Each DMA descriptor consists of two words. +Word 0 contains a DMA type identifier and a repetition count. Word 1 contains +the physical (not virtual) host buffer address. Each DMA type is really an +encoding of the burst size for the DMA. (See /usr/src/sys/dev/hea/eni.h for +more on the DMA types.) HARP was originally developed using burst sizes of +8_WORD, 4_WORD, and 1_WORD sizes. Each DMA request would be built to first +move as much data as possible using an 8_WORD burst. This should leave 0-7 +words left over. If there were more than 3 words remaining, a 4_WORD DMA burst +would be scheduled. The remaining data must then be 0-3 words in length and +would be moved with 1_WORD bursts. The use of large burst sizes makes more +efficient use of DMA by performing the same amount of work in fewer cycles. + +Several users have reported problems with DMA which were characterized by error +messages of the form: + + "eni_output: Transmit drain queue is full. Resources will be lost." +or + "eni_output: not enough room in DMA queue". + +It was determined that these systems do not support the use of four- or +eight-word DMA bursts. To resolve this problem, HARP now #ifdef's around the +8_WORD and 4_WORD DMA setup and #undef's both values by default. This results +in the default operation of the Efficient driver to use only 1_WORD DMA bursts. + +If you wish to experiment with larger DMA bursts, you can edit the file +/usr/src/sys/dev/hea/eni_transmit.c and change the #undef to a #define for +DMA_USE_8WORD and/or DMA_USE_4WORD. You will need to rebuild and install your +kernel for this change to take effect. + +We are exploring solutions which would allow HARP to determine which DMA bursts +are supported by the system at run-time. This would allow the Efficient device +driver to make use of larger, more efficient burst sizes where supported +without halting on systems which can't support the larger sizes. + + + + @(#) $Id: NOTES,v 1.1 1997/08/22 22:11:17 mks Exp $ + |