On Thu, Dec 17, 1998 at 12:50:46PM +0100, Marc SCHAEFER wrote:
> GOTO Masanori <[EMAIL PROTECTED]> wrote:
> > * How method is the generic SCSI interface to make more faster?
> > * Can a program using the generic SCSI interface run with pthread?
> > * Are there any way to make simple buffering system?
>
> What about trying the new direct IO on block devices (see kernel
> announcement) with a multithreaded program ?
>
> Direct IO theoretically doesn't have the overhead of copying the
> data (which everything going through the buffer cache has).
I think this is misleading.
The problem with the speed of the sg interface is not solved by creating
another interface. And it's obviously not the data copying speed which
causes the slowness of the sg driver. Otherwise one would have seen very
high speeds.
What comes into my mind are two things:
a) The sd devices do buffering, readahead; adjacent reads are merged etc.
This gives you a major speed improvement. I think you saw a speed
improvement with using larger blocks.
b) The sg high-level scsi code might be inefficient, i.e. locking the I/O
for a too long time. Maybe this prevents the driver from issueing more thn
one command at a time and such using Tagged Command queuing, when you use
sg ?
Maybe the direct IO (which is rejected by Linus, BTW) will allow you to use
the sd interface and therefore circumvent the problems with sg, but maybe
just the fact, that you also circumvent the buffer cache will slow down
things.
> Multithreaded or async I/O allows to suppress the overhead of
> system + SCSI since at least a command is always outstanding.
Agreed. I see no reason, why you shouldn't use async IO and/or pthreads to
parallelize things in combination with using the sg interface.
Reagrds,
--
Kurt Garloff <[EMAIL PROTECTED]> (Dortmund, FRG)
PGP key on http://student.physik.uni-dortmund.de/homepages/garloff
There is something frustrating about the quality and speed of Linux
development. I.e. the quality is too high and the speed is too high, in
other words, I can implement this XXXX feature, but I bet someone else
has already done it and is just about to release his patch to Linus soon...
[From a posting of Tigran Aivazian to linux-kernel, XXXX = disk stat]
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]