sane-project-website/old-archive/2001-07/0020.html

219 wiersze
8.4 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: What's the status of sanei-thread?</TITLE>
<META NAME="Author" CONTENT="Oliver Rauch (oliver.rauch@rauch-domain.de)">
<META NAME="Subject" CONTENT="Re: What's the status of sanei-thread?">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Re: What's the status of sanei-thread?</H1>
<!-- received="Mon Jul 2 14:06:53 2001" -->
<!-- isoreceived="20010702210653" -->
<!-- sent="Mon, 02 Jul 2001 23:16:24 +0200" -->
<!-- isosent="20010702211624" -->
<!-- name="Oliver Rauch" -->
<!-- email="oliver.rauch@rauch-domain.de" -->
<!-- subject="Re: What's the status of sanei-thread?" -->
<!-- id="3B40E4A8.81A93C5@rauch-domain.de" -->
<!-- inreplyto="What's the status of sanei-thread?" -->
<STRONG>From:</STRONG> Oliver Rauch (<A HREF="mailto:oliver.rauch@rauch-domain.de?Subject=Re:%20What's%20the%20status%20of%20sanei-thread?&In-Reply-To=&lt;3B40E4A8.81A93C5@rauch-domain.de&gt;"><EM>oliver.rauch@rauch-domain.de</EM></A>)<BR>
<STRONG>Date:</STRONG> Mon Jul 02 2001 - 14:16:24 PDT
<P>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0021.html">Yuri Dario: "Re: What's the status of sanei-thread?"</A>
<UL>
<LI><STRONG>Previous message:</STRONG> <A HREF="0019.html">DStevenson: "Re: Kernel 2.4.X and HP Scanjet 6300C"</A>
<LI><STRONG>Maybe in reply to:</STRONG> <A HREF="0013.html">Karl Heinz Kremer: "What's the status of sanei-thread?"</A>
<!-- nextthread="start" -->
<LI><STRONG>Next in thread:</STRONG> <A HREF="0021.html">Yuri Dario: "Re: What's the status of sanei-thread?"</A>
<LI><STRONG>Reply:</STRONG> <A HREF="0021.html">Yuri Dario: "Re: What's the status of sanei-thread?"</A>
<LI><STRONG>Reply:</STRONG> <A HREF="0031.html">Karl Heinz Kremer: "Re: What's the status of sanei-thread?"</A>
<LI><STRONG>Reply:</STRONG> <A HREF="0032.html">Marcio Luis Teixeira: "Need help building a new SANE driver"</A>
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#20">[ date ]</A>
<A HREF="index.html#20">[ thread ]</A>
<A HREF="subject.html#20">[ subject ]</A>
<A HREF="author.html#20">[ author ]</A>
</UL>
<HR NOSHADE><P>
<!-- body="start" -->
<P>
Is there no driver based command queueing for USB?
<BR>
Also if there is no queueing, you can do:
<BR>
<P>1) read on buffer1
<BR>
2) initiate read of buffer2
<BR>
3) sane_read can get buffer1, when buffer1
<BR>
is empty wait until buffer2 is read (should already
<BR>
be done) and initiate read of buffer1 again.
<BR>
etc.
<BR>
<P>There are two problems with the reader_process
<BR>
1) fork does not work on all systems
<BR>
2) the pipe as IPC is not very good because the
<BR>
buffer is very small (about 4KB on most systems).
<BR>
This can(unnecessaryly) slow down scanning on slow
<BR>
systems.
<BR>
<P>So if there is an other way to handle this we should
<BR>
take a closer look at it.
<BR>
<P>Bye
<BR>
Oliver
<BR>
<P>Karl Heinz Kremer wrote:
<BR>
<EM>&gt;
</EM><BR>
<EM>&gt; This does not work for USB. For consumer scanners USB is becomming
</EM><BR>
<EM>&gt; more and more important, also the cheaper a scanner is, the more
</EM><BR>
<EM>&gt; has to be done in software. Running two processes, one to get the
</EM><BR>
<EM>&gt; data and the other one to process the data seems to be the ideal
</EM><BR>
<EM>&gt; solution to improve the throughput.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; So I'll pass on this one.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Karl Heinz
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Oliver Rauch &lt;<A HREF="mailto:oliver.rauch@rauch-domain.de?Subject=Re:%20What's%20the%20status%20of%20sanei-thread?&In-Reply-To=&lt;3B40E4A8.81A93C5@rauch-domain.de&gt;">oliver.rauch@rauch-domain.de</A>&gt; said:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; &gt; Karl Heinz Kremer wrote:
</EM><BR>
<EM>&gt; &gt; &gt;
</EM><BR>
<EM>&gt; &gt; &gt; I am in the process of adding a reader thread to the EPSON backend.
</EM><BR>
<EM>&gt; &gt; &gt; I noticed that the library module sanei-thread does some of the
</EM><BR>
<EM>&gt; &gt; &gt; work that's necessary to create a reader process in a somehow
</EM><BR>
<EM>&gt; &gt; &gt; cross-platform way (at least for any OS that supports fork() and
</EM><BR>
<EM>&gt; &gt; &gt; OS/2). I also noticed that no backend is using these functions.
</EM><BR>
<EM>&gt; &gt; &gt; What's the status of this module?
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt; &gt; I thought about the reader_process thing and I think there is a
</EM><BR>
<EM>&gt; &gt; chance that we do not need it:
</EM><BR>
<EM>&gt; &gt; most (all?) scsi controller drivers (and some controllers in hardware)
</EM><BR>
<EM>&gt; &gt; do support scsi command queueing. When the queueing is done with
</EM><BR>
<EM>&gt; &gt; 2 scsi read commands and 2 scsi buffers who are handled a bit smart
</EM><BR>
<EM>&gt; &gt; in sane_read() we (may be) do not need the reader_process
</EM><BR>
<EM>&gt; &gt; and may be get better performence because we do not need the
</EM><BR>
<EM>&gt; &gt; pipe between the reader_process and the main process.
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt; &gt; May be you like to try this idea.
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt; &gt; Bye
</EM><BR>
<EM>&gt; &gt; Oliver
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt; &gt; --
</EM><BR>
<EM>&gt; &gt; Homepage: <A HREF="http://www.rauch-domain.de">http://www.rauch-domain.de</A>
</EM><BR>
<EM>&gt; &gt; sane-umax: <A HREF="http://www.rauch-domain.de/sane-umax">http://www.rauch-domain.de/sane-umax</A>
</EM><BR>
<EM>&gt; &gt; xsane: <A HREF="http://www.xsane.org">http://www.xsane.org</A>
</EM><BR>
<EM>&gt; &gt; E-Mail: mailto:<A HREF="mailto:Oliver.Rauch@rauch-domain.de?Subject=Re:%20What's%20the%20status%20of%20sanei-thread?&In-Reply-To=&lt;3B40E4A8.81A93C5@rauch-domain.de&gt;">Oliver.Rauch@rauch-domain.de</A>
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt; &gt; --
</EM><BR>
<EM>&gt; &gt; Source code, list archive, and docs: <A HREF="http://www.mostang.com/sane/">http://www.mostang.com/sane/</A>
</EM><BR>
<EM>&gt; &gt; To unsubscribe: echo unsubscribe sane-devel | mail <A HREF="mailto:majordomo@mostang.com?Subject=Re:%20What's%20the%20status%20of%20sanei-thread?&In-Reply-To=&lt;3B40E4A8.81A93C5@rauch-domain.de&gt;">majordomo@mostang.com</A>
</EM><BR>
<EM>&gt; &gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; --
</EM><BR>
<P><PRE>
--
Homepage: <A HREF="http://www.rauch-domain.de">http://www.rauch-domain.de</A>
sane-umax: <A HREF="http://www.rauch-domain.de/sane-umax">http://www.rauch-domain.de/sane-umax</A>
xsane: <A HREF="http://www.xsane.org">http://www.xsane.org</A>
E-Mail: mailto:<A HREF="mailto:Oliver.Rauch@rauch-domain.de?Subject=Re:%20What's%20the%20status%20of%20sanei-thread?&In-Reply-To=&lt;3B40E4A8.81A93C5@rauch-domain.de&gt;">Oliver.Rauch@rauch-domain.de</A>
<P>--
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:%20What's%20the%20status%20of%20sanei-thread?&In-Reply-To=&lt;3B40E4A8.81A93C5@rauch-domain.de&gt;">majordomo@mostang.com</A>
</PRE>
<P><!-- body="end" -->
<HR NOSHADE>
<UL>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0021.html">Yuri Dario: "Re: What's the status of sanei-thread?"</A>
<LI><STRONG>Previous message:</STRONG> <A HREF="0019.html">DStevenson: "Re: Kernel 2.4.X and HP Scanjet 6300C"</A>
<LI><STRONG>Maybe in reply to:</STRONG> <A HREF="0013.html">Karl Heinz Kremer: "What's the status of sanei-thread?"</A>
<!-- nextthread="start" -->
<LI><STRONG>Next in thread:</STRONG> <A HREF="0021.html">Yuri Dario: "Re: What's the status of sanei-thread?"</A>
<LI><STRONG>Reply:</STRONG> <A HREF="0021.html">Yuri Dario: "Re: What's the status of sanei-thread?"</A>
<LI><STRONG>Reply:</STRONG> <A HREF="0031.html">Karl Heinz Kremer: "Re: What's the status of sanei-thread?"</A>
<LI><STRONG>Reply:</STRONG> <A HREF="0032.html">Marcio Luis Teixeira: "Need help building a new SANE driver"</A>
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#20">[ date ]</A>
<A HREF="index.html#20">[ thread ]</A>
<A HREF="subject.html#20">[ subject ]</A>
<A HREF="author.html#20">[ 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>Mon Jul 02 2001 - 14:10:11 PDT</EM>
</EM>
</SMALL>
</BODY>
</HTML>