Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Q&As > Legacy Documents > User Experience >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Jumpy Mouse when Transferring Data on PowerMacs


Q: We have SCSI routines that transfer 64kB data blocks (to get the highest transfer rates possible with the tape drive we are using). On the PowerPC (8100/80 or 8100/100), if the mouse is moved during a 64k transfer, the mouse is jumpy.

Lowering the cache size to 16k reduces the problem to an acceptable level, but kills the transfer rates. We are using the SCSI manager 4.3.

How do we avoid the jumpy mouse while maintaining maximum throughput?

A: Your jumpy mouse is an indication that you are not properly implementing SCSI DMA. When using the 8100 (and PCI machines) for Direct Memory Access (DMA) transfer efficiency, you want to ensure that:

  1. Your data is aligned on 8 byte block boundaries. Since the DMA hardware can't do odd transfers, it must perform a Programmed IO to handle at least part of the transfer.

  2. Your buffer physical memory is contiguous (a la LockMemoryContiguous). Otherwise, the DMA transfer will have to be broken up: this will especially be a problem if Virtual Memory is turned on.

If you have disconnects enabled in your device or driver, it's possible that the transfer is broken up and some VBL activity is occurring. The bottom line is that you don't want a SCSI disconnect occurring during your transfer.

[Nov 01 1995]