[2576] in linux-scsi channel archive

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

Scatter/gather

daemon@ATHENA.MIT.EDU (Marc SCHAEFER)
Thu Oct 2 05:20:31 1997

From: Marc SCHAEFER <schaefer@alphanet.ch>
Date: 	2 Oct 1997 10:57:50 +0200
Apparently-To: linux-scsi@vger.rutgers.edu
To: ;@unlisted-recipients (no To-header on input)

Hi.

I have noted that the typical size of the blocks given in an I/O
operation is 1024 bytes (or probably the fs block size). When you
do not implement scatter/gather, you thus have very poor I/O
performance.

However, if you do, you then get transfers upto 128KB (when using
128 scatter/gather buffers). This is very good.

However, not all SCSI hosts are able to handle more than, say, then
scatter/gather buffers internally. This also means that the processor
will receive an interrupt every 10KB to update that list (if the
SCSI host is unable to read host's memory).

At 40 MByte/s (which happens with very fast arrays), this is
4000 interrupt/s.

Isn't it a way to diminush that, e.g. by ensuring that fs
blocks are contiguous in memory ?  One can of course augment
the fs size to 8 KB, but, I am just wondering if there is another
way.


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