kopia lustrzana https://gitlab.com/sane-project/website
174 wiersze
6.2 KiB
HTML
174 wiersze
6.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
|
|
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>sane-devel: Re: scsi command queuing</TITLE>
|
|
<META NAME="Author" CONTENT="Wolfgang Rapp (wolfgang@rapp-informatik.de)">
|
|
<META NAME="Subject" CONTENT="Re: scsi command queuing">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
|
|
<H1>Re: scsi command queuing</H1>
|
|
<!-- received="Wed Jun 28 10:36:49 2000" -->
|
|
<!-- isoreceived="20000628173649" -->
|
|
<!-- sent="Wed, 28 Jun 2000 20:48:30 +0200" -->
|
|
<!-- isosent="20000628184830" -->
|
|
<!-- name="Wolfgang Rapp" -->
|
|
<!-- email="wolfgang@rapp-informatik.de" -->
|
|
<!-- subject="Re: scsi command queuing" -->
|
|
<!-- id="395A487E.C6A0BE4C@rapp-informatik.de" -->
|
|
<!-- inreplyto="395A191F.E569B9AE@wolfsburg.de" -->
|
|
<STRONG>From:</STRONG> Wolfgang Rapp (<A HREF="mailto:wolfgang@rapp-informatik.de?Subject=Re:%20scsi%20command%20queuing&In-Reply-To=<395A487E.C6A0BE4C@rapp-informatik.de>"><EM>wolfgang@rapp-informatik.de</EM></A>)<BR>
|
|
<STRONG>Date:</STRONG> Wed Jun 28 2000 - 11:48:30 PDT
|
|
<P>
|
|
<!-- next="start" -->
|
|
<LI><STRONG>Next message:</STRONG> <A HREF="0203.html">Gerald Teschl: "Mustek SE12000SP Plus"</A>
|
|
<UL>
|
|
<LI><STRONG>Previous message:</STRONG> <A HREF="0201.html">Oliver Rauch: "scsi command queuing"</A>
|
|
<LI><STRONG>In reply to:</STRONG> <A HREF="0201.html">Oliver Rauch: "scsi command queuing"</A>
|
|
<!-- nextthread="start" -->
|
|
<LI><STRONG>Next in thread:</STRONG> <A HREF="0208.html">Oliver Rauch: "Re: scsi command queuing"</A>
|
|
<LI><STRONG>Next in thread:</STRONG> <A HREF="0205.html">Henning Meier-Geinitz: "Re: scsi command queuing"</A>
|
|
<LI><STRONG>Reply:</STRONG> <A HREF="0208.html">Oliver Rauch: "Re: scsi command queuing"</A>
|
|
<!-- reply="end" -->
|
|
<LI><STRONG>Messages sorted by:</STRONG>
|
|
<A HREF="date.html#202">[ date ]</A>
|
|
<A HREF="index.html#202">[ thread ]</A>
|
|
<A HREF="subject.html#202">[ subject ]</A>
|
|
<A HREF="author.html#202">[ author ]</A>
|
|
</UL>
|
|
<HR NOSHADE><P>
|
|
<!-- body="start" -->
|
|
<P>
|
|
Oliver Rauch schrieb:
|
|
<BR>
|
|
<P><EM>> Hi,
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> has someone experience with a sane backend and scsi command queueing?
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> I am just working on it for the umax backend.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> At first I created some routines that replace the pipe to transfer the
|
|
</EM><BR>
|
|
<EM>> data from the reader_process to the main process, it uses shared memory
|
|
</EM><BR>
|
|
<EM>> instead (on systems where shared memory is available, otherwise the pipe is
|
|
</EM><BR>
|
|
<EM>> used).
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Unfortunetly it does not speed up scanning large images. It really looks like
|
|
</EM><BR>
|
|
<EM>> the comunication via the scsi bus is not fast enough.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> So I added scsi command queueing into the umax backend. But I am not
|
|
</EM><BR>
|
|
<EM>> sure how I can see
|
|
</EM><BR>
|
|
<EM>> 1) how/if it works (sanei_scsi debug output is not good enough)
|
|
</EM><BR>
|
|
<EM>> 2) what I can do to speed up the comunication (it also does not help a lot).
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Any help is appreciated
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<P>I have done the UnixWare2 port of sane. Bofore this work I wrote a scanner
|
|
<BR>
|
|
driver for Microtek scanners for Unixware.
|
|
<BR>
|
|
I compared the scanning speed for A4 600x600 dpi full color scans with both
|
|
<BR>
|
|
sane and my Microtek solution.
|
|
<BR>
|
|
The sane scanning speed is much more slow then my singular solution . So whats
|
|
<BR>
|
|
the difference - I send a scsi command
|
|
<BR>
|
|
block along with a repeat faktor to a special kernel driver. The driver
|
|
<BR>
|
|
handles the whole scan internally without returning
|
|
<BR>
|
|
to the user programm. Original Unixes have a physio kernel funktion to lock
|
|
<BR>
|
|
user process in memory and the low level
|
|
<BR>
|
|
scsi drivers can send data direct to the user space even with dma mode . So a
|
|
<BR>
|
|
driver copy to user like in the linux kernel is also
|
|
<BR>
|
|
not necessary.
|
|
<BR>
|
|
But I think the most bottlenek is the interaktion between backends and kernel
|
|
<BR>
|
|
after every scsi-command. This interaction time by
|
|
<BR>
|
|
system calls , kernel scheduling etc. at this time is to long to keep the
|
|
<BR>
|
|
scanner running, the next scan command block should be send
|
|
<BR>
|
|
by the driver if it receives the completion interrupt from the last.
|
|
<BR>
|
|
If we talk about scanspeed we should think about extending the sg driver for
|
|
<BR>
|
|
doublebuffering data pages in kernel memory space
|
|
<BR>
|
|
and command block repeat count. Filling one buffer by dma from scsi hardware
|
|
<BR>
|
|
and coping in parallel the other out to the user
|
|
<BR>
|
|
space instead of waiting for interrupts. My somebody have looked more to the
|
|
<BR>
|
|
linux sg driver source code then I and knows more
|
|
<BR>
|
|
about how it works. But so all backends must be changed because not all could
|
|
<BR>
|
|
be done ins sane_scsi.
|
|
<BR>
|
|
<P>Bye Wolfgang
|
|
<BR>
|
|
<P><P><PRE>
|
|
--
|
|
Source code, list archive, and docs: <A HREF="http://www.mostang.com/sane/">http://www.mostang.com/sane/</A>
|
|
To unsubscribe: echo unsubscribe sane-devel | mail <A HREF="mailto:majordomo@mostang.com?Subject=Re:%20scsi%20command%20queuing&In-Reply-To=<395A487E.C6A0BE4C@rapp-informatik.de>">majordomo@mostang.com</A>
|
|
</PRE>
|
|
<P><!-- body="end" -->
|
|
<HR NOSHADE>
|
|
<UL>
|
|
<!-- next="start" -->
|
|
<LI><STRONG>Next message:</STRONG> <A HREF="0203.html">Gerald Teschl: "Mustek SE12000SP Plus"</A>
|
|
<LI><STRONG>Previous message:</STRONG> <A HREF="0201.html">Oliver Rauch: "scsi command queuing"</A>
|
|
<LI><STRONG>In reply to:</STRONG> <A HREF="0201.html">Oliver Rauch: "scsi command queuing"</A>
|
|
<!-- nextthread="start" -->
|
|
<LI><STRONG>Next in thread:</STRONG> <A HREF="0208.html">Oliver Rauch: "Re: scsi command queuing"</A>
|
|
<LI><STRONG>Next in thread:</STRONG> <A HREF="0205.html">Henning Meier-Geinitz: "Re: scsi command queuing"</A>
|
|
<LI><STRONG>Reply:</STRONG> <A HREF="0208.html">Oliver Rauch: "Re: scsi command queuing"</A>
|
|
<!-- reply="end" -->
|
|
<LI><STRONG>Messages sorted by:</STRONG>
|
|
<A HREF="date.html#202">[ date ]</A>
|
|
<A HREF="index.html#202">[ thread ]</A>
|
|
<A HREF="subject.html#202">[ subject ]</A>
|
|
<A HREF="author.html#202">[ author ]</A>
|
|
</UL>
|
|
<!-- trailer="footer" -->
|
|
<HR NOSHADE>
|
|
<P>
|
|
<SMALL>
|
|
<EM>
|
|
This archive was generated by <A HREF="http://www.hypermail.org/">hypermail 2b29</A>
|
|
: <EM>Wed Jun 28 2000 - 10:38:46 PDT</EM>
|
|
</EM>
|
|
</SMALL>
|
|
</BODY>
|
|
</HTML>
|