[3016] in linux-scsi channel archive
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.