[3016] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

SCSI buffers and DMA

daemon@ATHENA.MIT.EDU (Marc SCHAEFER)
Wed Dec 31 04:20:05 1997

From: Marc SCHAEFER <schaefer@alphanet.ch>
Date: 	31 Dec 1997 09:57:51 +0100
Apparently-To: linux-scsi@vger.rutgers.edu
To: ;@unlisted-recipients (no To-header on input)

As a SCSI low-level driver, you receive a transfer length and a buffer
pointer (possibly more than one if you implement scatter/gather).
However, are those buffers already locked in memory for DMA or is
there something to do with them ? Or are those always from the buffers
(thus copied from/to user space anyway) ?

What is the data flow from user mode ?  Is the buffer given to the
low-level SCSI driver the buffer of the write()/read() syscall when
using the /dev/sdX device ?  When using the filesystem, when reading,
is there any data copy (for data blocks), or is the data block going
straight to user mode buffers ? I suspect there is, since it looks
the only way for a buffer cache.

Thank you for pointers or answers.


home help back first fref pref prev next nref lref last post